引入
我们介绍了单链表、介绍了将单链表头尾相连组成循环链表,又讲了循环链表中一些有趣得应用,现在是时候了解线性表中的大拿,双循环链表了。
为什么需要双链表
在单循环链表中,链表中的各个节点是这样的,一个结点指向下一个结点
A -> B -> C -> D -> E -> F
如果我们需要从 A 到达 D 结点,那么需要
A -> B -> C -> D
如果到了 D 之后,有需要到 C,那么就麻烦了
D -> E -> F -> A -> B -> C
明明相邻得两个结点,为什么要转一圈才能找到彼此呢?
答案很简单,因为结点都是向后指的,单循环链表嘛~
而解决这个问题的答案更简单,那我们就把结点
既指向它的前驱节点,也指向它的后继节点不就好了~
这就是双向链表。

