【Java数据结构与算法】双向链表
双向链表增删改查分析图解
双向链表应用
使用带head头的双向链表实现-水浒英雄排行榜
单向链表的缺点分析:
- 单向链表,查找的方向只能是一个方向,双向链表可以向前或者向后查找;
- 单向链表不能自我删除,需要依靠辅助节点,而双向链表可以自我删除;(单向链表删除节点时,总是找到temp的下一个节点来删除)
双向链表增删改查分析
分析图解
思路分析
- 遍历方式和单链表一样,只是可以向前查找,也可以向后查找;
- 添加(例如添加到双链表末尾)
- 先找到双向链表的最后的这个节点;
- temp.next=newHeroNode;
- newHeroNode.pre = temp;
- 修改和单向链表基本一致;
- 删除
- 因为是双向链表,可以实现自我删除某个节点;
- 直接找到要删除的节点,例如:temp;
- temp.pre.next = temp.next;
- temp.next.pre = temp.pre;
双向链表增删改查代码实现
1 | package com.jokerdig.linkedlist; |
双向链表功能测试
功能测试
1 | package com.jokerdig.linkedlist; |
运行结果
1 | ========双向链表的测试======== |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Hey,Joker!
评论
ValineTwikoo