当前位置:网站首页 > 区块链基础 > 正文

单向链表和双向链表区别(单链表和双向链表的区别)



单向链表:

由两部分组成:数据域和指针域,每个结点都有一个指针,每个节点指针的指向都是指向自身结点的下一个结点,最后一个结点的head指向为null,对单链表的操作只能从一端开始,如果需要查找链表中的某一个结点,则需要从头开始进行遍历

双向链表:

对于双向链表来说,它的每个节点要指向“直接前驱”和“直接后继”,所以节点类需要含有两个指针域。指向直接前驱的指针使用pre表示,指向后继的指针使用next表示。双向链表是在单向链表基础上的一个改进,每个节点指向其直接前驱和直接后继节点。因此,从双向链表的任意位置开始,都能访问所有的节点

双向链表从节点的结构上可以看出,双向链表的所需的存储空间大于单向链表。同时,对于插入和删除等操作来说,双向链表的节点操作更加复杂,涉及到节点的前后两个节点。

代码实现可见:https://zhuanlan.zhihu.com/p/

单向链表

双向链表

查找

只能找到后继

找到前驱和后继

遍历

只能从头到尾遍历,但遍历时候不会死循环

可进可退,但遍历复杂

增删节点

增加删除节点简单

增加删除节点复杂

内存

相比较小

多分配一个前驱指针存储空间

适用场合

节点的增加删除频繁,内存较小场合

需要双向查找节点值的场合

到此这篇单向链表和双向链表区别(单链表和双向链表的区别)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • mouse2joystick下载(mouse2joystick下载链接)2024-12-09 13:36:08
  • 逆向单向链表(单向链表的逆转)2024-12-09 13:36:08
  • 游戏代码网站链接(游戏代码网站链接怎么用)2024-12-09 13:36:08
  • 在新标签页中打开链接(在新标签页中打开链接怎么操作)2024-12-09 13:36:08
  • 腾讯文档跳转链接的方法(腾讯文档跳转链接的方法是什么)2024-12-09 13:36:08
  • 游戏代码网站链接(游戏网址代码)2024-12-09 13:36:08
  • 跳转链接制作软件(跳转链接怎么制作)2024-12-09 13:36:08
  • 单向链表 反转(单向链表反转的时间复杂度是)2024-12-09 13:36:08
  • 单向链表(单向链表和双向链表区别)2024-12-09 13:36:08
  • 单向链表和双向链表区别(双向链表比单向链表的优点)2024-12-09 13:36:08
  • 全屏图片