算法笔记-双向链表与环形链表

本文探讨了双向链表的操作分析和实现,强调了双向链表相对于单向链表的优势,包括查找、添加、修改和删除的便利性,并以Java的LinkedList为例进行了说明。同时介绍了单向环形链表,特别是约瑟夫环问题的解决策略,通过建立一个不带头结点的循环链表进行计数和删除操作,直至链表为空。
摘要由CSDN通过智能技术生成

1.双向链表的操作分析和实现

管理单向链表的缺点分析:

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

2) 单向链表不能自我删除,需要靠辅助节点 ,而双向链表,则可以自我删除,所以前面我们单链表删除时节点,总是找到 temp,temp 是待删除节点的前一个节点(认真体会).

3) 分析了双向链表如何完成遍历,添加,修改和删除的思路

对上图的说明:

 

分析 双向链表的遍历,添加,修改,删除的操作思路===》代码实现

 

1) 遍历 方和 单链表一样,只是可以向前,也可以向后查找

 

2) 添加 (默认添加到双向链表的最后)

 

(1) 先找到双向链表的最后这个节点

 

(2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值