双向链表增删改查分析

双向链表增删改查分析

  • 单向链表的缺点

    • 单向链表查找方向只能是一个方向,而双向链表可以向前或者向后查找。

    • 单向链表不能自我删除,需要靠辅助节点,而双向链表,则可以自我删除,所以前面我们单链表删除时节点,总是找到temp,temp是待删除节点的前一个节点。(利用next机制)

    • 示意图可以帮助理解删除

      • 示意图
        双向链表增删改查分析_第1张图片

      • 分析双向链表的遍历,添加,修改,删除的操作思路

        • 遍历的方式和单链表一样,只是可以向前,也可以向后查找。
        • 添加(默认添加到双向链表的最后)
          • 先找到双向链表的最后这个节点
          • temp.next=new HeroNode
          • newHeroNode.pre = temp;
        • 修改
          • 思路和原来的单向链表一样
        • 删除
          • 因为是双向链表,因此我们可以是实现自我删除某个节点
          • 直接找到要删除的这个节点,比如temp
          • 让temp.pre.next = temp.next
          • temp.next.pre = temp.pre
        • 第二种添加方式有序添加
      • 代码实现

        双向链表

你可能感兴趣的:(数据结构)