链表是一种物理存储单元上非连续、非顺序的存储结构。数据元素的逻辑顺序是通过链表中的指针链接次序实现的。
与数组对应,数组是:是一种物理存储单元上连续、顺序的存储结构。数据元素的逻辑顺序是通过下标次序实现的。
链表又分为单向链表、双向链表。
单向链表:每个数据结点中只有一个指针,指向后继节点。
双向链表:每个数据结点中都有两个指针,分别指向直接后继和直接前驱节点。
单向链表、双向链表如下图示:
链表与数组操作效率的总结比较:
名称 | 指针数 | 存储结构 | 节点查找 | 节点添加 | 节点删除 |
单向链表 | 1 | 非连续、非顺序 | 较慢 | 较慢 | 较慢 |
双向链表 | 2 | 非连续、非顺序 | 较快 | 较快 | 较快 |
数组 | 0 | 连续、顺序 | 最快 | 较慢 | 较慢 |