C语言中的链表(3)①

                                                        双向链表的实现

双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。

第一步,创建出节点和链表并且进行初始化,清空链表。

C语言中的链表(3)①_第1张图片
创建和初始化两个指针,一个指针指向上个节点,另外一个指向下个节点
C语言中的链表(3)①_第2张图片
清空链表同样是从开始一个一个的free

第二,添加节点和删除节点。

C语言中的链表(3)①_第3张图片
C语言中的链表(3)①_第4张图片
C语言中的链表(3)①_第5张图片
C语言中的链表(3)①_第6张图片
C语言中的链表(3)①_第7张图片
以上就是双向链表添加节点的具体代码和图像表示



C语言中的链表(3)①_第8张图片
C语言中的链表(3)①_第9张图片
C语言中的链表(3)①_第10张图片
C语言中的链表(3)①_第11张图片
C语言中的链表(3)①_第12张图片
C语言中的链表(3)①_第13张图片
以上就是删除节点的具体代码和图像表示

第三,获取节点元素和双向链表的遍历。

C语言中的链表(3)①_第14张图片
以上就是获取链表中节点元素的具体代码,先判断获取位置是否正确,再创建一个节点,通过for循环获取节点元素
C语言中的链表(3)①_第15张图片
以上就是双向链表的遍历

第四,调用方法。

C语言中的链表(3)①_第16张图片
C语言中的链表(3)①_第17张图片

这就是双向链表的实现具体代码,关键点就是链表中节点是有两个指针,一个指向上个节点,另外一个指向下个节点。

你可能感兴趣的:(C语言中的链表(3)①)