数据结构与算法(03)
1.双链表应用实例
1.1双向链表的操作分析和实现
使用带head头的双向链表实现
管理单向链表的缺点分析:
1)单向链表,查找的方向只能是一个方向,而双向链表可以向前或者向后查找。
2)单向链表不能自我删除,需要靠辅助节点,而双向链表可以自我删除,单链表删除时节点,总是找到temp,temp是删除节点的前一个节点
3)双向链表如何完成遍历,添加,修改和删除。
对上图的说明:
1)遍历:和单链表一样,只是可以向前,也可以向后查找
2)添加(默认添加到双向链表的最后)
(1)先找到双向链表的最后这个节点
(2)temp.next=newHeroNode
(3)newHeroNode.pre=temp;
3)修改 思路和单向链表一样
4)删除
(1)因为是双向链表,因此,可以实现自我删除某个节点
(2)直接找到要删除的这个节点,比如temp
(3)temp.pre.next=temp.next
(4)temp.next.pre=temp.pre;