双链表(考研)
本内容来自王道考研,为复习笔记
本章主要描述双链表与单链表之间的不同,且双链表的实际操作。
单链表VS双链表:
单链表在我们之前的学习中已经了解到它的局限性,虽然可以完成修改,插入,查询和删除等操作,但是其单向性始终犹如一个裹脚布般放不开手脚。
双链表就很好的摆脱了单向性特点,使得表的修改,插入,查询和删除等操作能够左右横跳。且存储密度相比之下还要低上一丢丢。

双链表的初始化(带头结点):
DLinklist中强调这是一个链表,而DNode *则是为了强调这是一个结点。

双链表的插入:
双链表的插入和单链表的插入其实大同小异,需要注意的是结点左右两边的指针需要连接。下图中if语句是为了判断下一个节点是否为空。
双链表中的插入操作是相互的,即是前插操作又是后插操作。

双链表的删除:
在进行删除操作时一定要进行判空操作,要成这个好习惯保证代码的健壮性

双链表的遍历:

知识总结:


浙公网安备 33010602011771号