前情回顾:
- 单链表:无法逆向检索,有时候不太方便。
- 双链表:可“进”可“退”,但是存储密度稍低。
双链表的结构:
用代码定义:
- 我们应该养成一个良好的学习习惯:见到一个陌生单词时,要了解它的英文意思,这样才能方便我们去记忆它的用法等。例如:DNode中的 D ,意思是 Double;prior : 先前的。
了解了如何用代码定义之后,接下来我们就应该去学习怎么去初始化一个双链表。(同样的有带头结点和不带头结点两种方式)
双链表的初始化
然后是初始化操作(带头结点)
图示:
看了图示之后,我们应该很容易就能知道如何“判空”
即:只需要判断:L->next == NULL
是否为真即可。
还有的内容:比如双链表的插入,删除,销毁等操作由于篇幅较大,这里就不再赘述OvO。