双向链表和单向链表

概念:
双向链表也叫双链表,是链表的一种,是在操作系统中常用的数据结构,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱,其头指针 head 是唯一确定的。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点,这种数据结构形式使得双向链表在查找时更加方便,特别是大量数据的遍历。由于双向链表具有对称性,能方便地完成各种插入、删除等操作,但需要注意前后方向的操作
理解:
双向链表如下图所示,即每个节点都会有两个指针,一个指向前一个节点,一个指向下一个节点。
在这里插入图片描述
单向链表缺少了双向链表中指向前一个节点的指针,也就是只有只想下一个节点的指针。
在这里插入图片描述
使用理解:
单向链表在使用时,如果要删除一个节点,则需要总第一个节点开始查找需要删除的节点,并保存上一个已查找过的不符合条件节点,当找到需要删除的节点可以利用已保存的上个节点信息实现当前节点的删除。链表的遍历方向只能是单向。
双向链表在使用时,如果要删除一个节点,则可以实现两个方向查找目标节点,并且不需要保存任何节点信息,找到目标节点后直接可以实现该节点的删除。双向链表可以实现两个方向的遍历,提高了查询的速度。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值