双向链表
Posted niujifei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了双向链表相关的知识,希望对你有一定的参考价值。
双向链表
管理单向链表的缺点分析:
1、单向链表,查找的方法只能是一个方向,而双向链表可以向前或者向后查找
2、单线链表不能自我删除,需要靠辅助节点,而双向链表,则可以自我删除。
应用实例:使用带 head 头的双向链表实现 — 水浒英雄排行榜
双向链表如何完成遍历,添加,修改和删除的思路示意图:
对上图的说明:
(1)遍历方式同单链表一样,可以向前遍历,也可以向后查找
(2)添加(默认添加到双向链表的最后)
① 先找到双向链表的最后这个节点temp
② temp.next = newHeroNode;
③ newHeroNode.pre = temp;
(3)修改思路同单向链表一样
(4)删除
① 因为是双向链表,可以实现自我删除某个节点
② 直接找到要删除的这个节点,比如temp
③ temp.pre.next = temp.next;
④ temp.next.pre = temp.pre;(注意:这里需要分析看看temp是否为最后一个节点,如果则不需要这句话)
(5)第二种添加方式,按照编号顺序添加
代码实现:
以上是关于双向链表的主要内容,如果未能解决你的问题,请参考以下文章