双链表(考研)

本内容来自王道考研,为复习笔记

本章主要描述双链表与单链表之间的不同,且双链表的实际操作。

单链表VS双链表:

单链表在我们之前的学习中已经了解到它的局限性,虽然可以完成修改,插入,查询和删除等操作,但是其单向性始终犹如一个裹脚布般放不开手脚。

双链表就很好的摆脱了单向性特点,使得表的修改,插入,查询和删除等操作能够左右横跳。且存储密度相比之下还要低上一丢丢。

 

双链表的初始化(带头结点):

DLinklist中强调这是一个链表,而DNode *则是为了强调这是一个结点。

 

 

 双链表的插入:

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

双链表中的插入操作是相互的,即是前插操作又是后插操作。

 

 

 

双链表的删除:

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

 

 双链表的遍历

 

 知识总结:

 

posted @ 2020-12-26 21:53  Mikoor  阅读(291)  评论(0)    收藏  举报