跳到主要内容

链表原理

链表是一种物理存储单元上非连续,非顺序的存储结构,数据元素的逻辑顺序是通过链表的指针连接实现的。

从生活中认识链表

在生活中,火车是很常见的一种交通工具。从车头往后看,每一节车厢均拉着后面的车厢,这样就形成了一个链式结构。

整理归纳

其中,火车的每一节车厢叫做data域,拉下一节车厢的钩子叫做next域。

概念

链表是一种物理存储单元上非连续,非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的。

基本特征:

1. 链表是以结点形式存储的,是链式存储
2. 每个结点包含data区域和next区域
3. 如上图各个结点并不是连续存储的
4. 链表分带头结点链表和没有带头结点链表,根据实际的需求来确定

链表在内存

如图所示,a1的地址是150,他的next指向110地址,110地址存放着a2,a2的next域是180地址,指向a3,这样一次类推一个完整的链表就初始化好了。

举例

一个完整的列表结构如下如图所示

链表图

链表实现

  1. 参考单链表实现
  2. 双向链表实现