2025年单向链表和双向链表区别(单向链表和双向链表区别在哪)

单向链表和双向链表区别(单向链表和双向链表区别在哪)博客主页 偷心编程 系列专栏 Java 学习 C 语言学习 数据结构 C 语言版 感谢大家点赞 收藏 评论 我们在前面就说了链表最常用的两种结构就是 单链表 无头单向不循环链表 以及 双向链表 有头双向循环链表 掌握了这两种方法 其他类型的链表也可以定义出来



  

🔥 博客主页: 偷心编程
🎥 系列专栏: 《Java学习》 《C语言学习》 《数据结构C语言版》
❤️ 感谢大家点赞👍收藏评论✍️
在这里插入图片描述
在这里插入图片描述

  

  我们在前面就说了链表最常用的两种结构就是 “单链表”(无头单向不循环链表)以及 “双向链表”(有头双向循环链表),掌握了这两种方法,其他类型的链表也可以定义出来。

  在单链表中的头结点与双向链表中的头结点不太一样!单链表中的头结点是指——第一个有效数据,这个头结点可以改变也可以为NULL;但是双向链表中的头结点是指——“哨兵位”节点,一定存在,并且这个节点不存储有效数据,是不可以改变的。

在这里插入图片描述

 
 
  1. 直接在main创建头结点,并且给其里面数据初始化
 
  1. 自定义BuyNode函数进行初始化
 

总之双向链表一定要创造一个不为空的头结点(哨兵位)
其次在创造新的节点的时候,指向前面后面的两个节点指针并不等于NULL,而是指向自己本身,这样才体现了循环

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  1. 由于双向链表的头结点不会改变,所以我们在实现各类方法的时候都是传入一级指针,而不是二级指针

  2. 不难从尾插方法看出,由于双向链表的结构特性,我们除了打印链表、查找和销毁链表需要进行循环,其他的方法我们很少用到循环(比如找尾节点)

  3. 我们在插入一个节点的时候,同样是先改变外部环境(新创建的节点),最后再改变内部环境(插入位置前后节点的prev或next)

固定套路:


                    
编程小号
上一篇 2025-03-21 21:27
下一篇 2025-02-15 07:30

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/50983.html