1
单向链表也叫单链表
双向链表是在单向链表结点上增加了一个前驱指针。
2
不管单向链表还是双向链表都有如下分类:
2.1 带不带头结点
不带头结点的单链表
带头结点的单链表
不带头结点未节点的双向链表
带头结点尾节点的双向链表 //双向链表中如果有了头结点和尾结点,对于头插法和尾插法就显得非常方便。这样在尾部插入一个元素也就不用去遍历链表了。
2.2 是否循环循环
非循环单链表
循环单链表
非循环双向链表
循环双向链表
3 另外,其实HASH表就是用数组加双向链表的组合来实现的。
此时,就有了双指针表头双向链表(即带表头表尾)。见:
哈希表+双向链表的组合使用
后来,Linux链表设计者认为双指针表头双链表对于HASH表来说过于浪费,因而另行设计了一套用于HASH表的数据结构,即单指针表头双链表。见:
哈希链表及其变种
阅读(2627) | 评论(0) | 转发(0) |