注:想查看其他有关数据结构知识,可点击链接 温故而知新 -> 数据结构 进行查看!
链表
概念
链表 是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 。
分类
实际中链表的结构非常多样,而链表结构大多是根据以下几种特点组成:
-
单向、双向
-
带头、不带头
-
循环、非循环
两种经典
虽然按照上述的分类特点,可有8种链表结构,但是实际中最常用还是两种结构,即:
-
无头单向非循环链表:结构简单,一般不会单独用来存数据。实际中更多是作为其他数据结构的子结构,如哈希桶、图的邻接表等等。另外这种结构在笔试面试中出现很多。
-
带头双向循环链表:结构最复杂,一般用在单独存储数据。实际中使用的链表数据结构,都是带头双向循环链表。另外这个结构虽然结构复杂,但是使用代码实现以后会发现结构会带来很多优势,且实现比较简单。
程序实现
该部分内容,分别对上述两种经典链表进行了代码实现,且每种实现都采用 C
与 C++
两种语言进行实现!