使用带head头的双向链表实现--水浒英雄排行榜管理单向链表的优缺点分析:
- 单向链表,查找的方向只能是一个方向,而双向链表可以向前或者向后查找
- 单向链表不能自我删除,需要靠辅助节点,而双向链表则可以自我删除,所以前面单向链表章节删除节点,总是找到temp,temp是待删除节点的前一个节点
分析双向链表的增删改查
- 遍历和单向链表一样,只是可以向前,也可以向后
- 添加:默认添加到最后
- 先找到这个双向链表的最后一个节点
- temp.next = newHeroNode;
- newHeroNode.pre = temp;
- 修改:和原来的单向链表一样
- 删除:
- 因为是双向链表,因此我们可以实现自我删除某个节点
- 直接找到要删除的这个节点,比如说temp这个节点
- temp.pre.next = temp.next(让这个节点的前一个节点指向temp的后一个节点)
- temp.next.pre = temp.pre;(让这个节点的下一个节点的pre指向这个节点的pre,也就是让这个节点的下