欢迎光临散文网 会员登陆 & 注册

【C语言教程】“双向循环链表”学习总结及其代码实现!

2022-05-24 16:01 作者:C语言编程__Plus  | 我要投稿

双向循环链表和它名字的表意一样,就是把双向链表的两头连接,使其成为了一个环状链表。只需要将表中最后一个节点的next指针指向头节点,头节点的prior指针指向尾节点,链表就能成环儿,如图所示:

需要注意的是,虽然双向循环链表成环状,但本质上还是双向链表,因此在双向循环链表中,依然能够找到头指针和头节点等。双向循环链表和双向链表相比,唯一的不同就是双向循环链表首尾相连,其他都完全一样。

注意:因为我上面已经讲了双向链表,所以这里只注重讲他们的实现差异。另因为带头节点会更好操作,所以我的代码都有头节点。

1、双向循环链表的创建

初始化时需要将头节点的next和prior都指向自己。



2、遍历双向循环链表

注意它的尾节点的next不再是Null,而是头节点



3、根据索引位置添加节点

这里不需要判断尾节点的next是否为Null,因为它会指向头节点。



4、根据索引位置删除节点

这里不需要判断尾节点的next是否为Null,因为它会指向头节点。



5、根据存储的值删除节点

这里不需要判断尾节点的next是否为Null,因为它会指向头节点。



6、根据值查找节点

尾节点的next可是头节点哦,找到它就是最后一个了。



其它代码


输出结果:

—END—

看到这里是不是又学到了很多新知识呢~

另外,对于准备学习C/C++编程的小伙伴,如果你想更好的提升你的编程核心能力(内功)不妨从现在开始!

微信公众号:C语言编程学习基地

C语言零基础入门教程(83集全)

整理分享(多年学习的源码、项目实战视频、项目笔记,基础入门教程)

欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!

编程学习书籍分享:

粉丝编程交流:


【C语言教程】“双向循环链表”学习总结及其代码实现!的评论 (共 条)

分享到微博请遵守国家法律