社区
C语言
帖子详情
如何判断一个链表是否是循环链表
dreamhunter_lan
2011-10-08 04:15:47
如题。用快慢指针貌似只能判断是否有环。
...全文
1862
12
打赏
收藏
如何判断一个链表是否是循环链表
如题。用快慢指针貌似只能判断是否有环。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
七擒关羽
2011-10-09
打赏
举报
回复
首先一个链表是否循环是是否成环形,并且只有一个环形,没有死环
有这个前提就简单了,这个算法就是追逐问题了,具体算法的效率要看设计了
设该链表的长度为N:
1、一个指针,步长为1,经过n就可以判断出来
2、双指针,一个步长为1,一个步长为2,经过最多n3/4就可以判断出来
3、。。。。自己想吧
商科程序员
2011-10-09
打赏
举报
回复
[Quote=引用楼主 dreamhunter_lan 的回复:]
如题。用快慢指针貌似只能判断是否有环。
[/Quote]判断循环链表直接从头向下遍历就行了(如果有尾,则不是;如果有节点等于head,则是).用快慢指针是判断链表是否有环.
veryfd
2011-10-09
打赏
举报
回复
[Quote=引用 4 楼 dreamhunter_lan 的回复:]
引用 2 楼 veryfd 的回复:
初始化两个指针指向链表首节点,一个每次向后跳一个节点,另一个每次向后跳两个节点,依次循环
每次判断两个指针的地址值,如果出现了相等的情况那么表示链表中存在环,如果某个指针指向了链表尾或者空值,那么该链表中不存在环
我都说了用快慢指针可以判断是否有环~~但是有环就叫循环链表吗?
[/Quote]那不是更简单了?直接不用快慢指针,就一个个节点遍历,如果最后访问到了尾节点或者空值,那么就不是循环链表,如果存在和首地址相同的指针,那么就存在循环?
xiao452159568
2011-10-09
打赏
举报
回复
请楼主解释一下循环链表和有环链表的区别
wxwlll
2011-10-08
打赏
举报
回复
看尾指针指向的地址,与首地址比较!
chenlei140
2011-10-08
打赏
举报
回复
看是否有取模 取模则就是环
星羽
2011-10-08
打赏
举报
回复
[Quote=引用 4 楼 dreamhunter_lan 的回复:]
引用 2 楼 veryfd 的回复:
初始化两个指针指向链表首节点,一个每次向后跳一个节点,另一个每次向后跳两个节点,依次循环
每次判断两个指针的地址值,如果出现了相等的情况那么表示链表中存在环,如果某个指针指向了链表尾或者空值,那么该链表中不存在环
我都说了用快慢指针可以判断是否有环~~但是有环就叫循环链表吗?
[/Quote]
你判断一下环出现的地方是否在头节点
taodm
2011-10-08
打赏
举报
回复
循环链表怎么定义的?
dreamhunter_lan
2011-10-08
打赏
举报
回复
[Quote=引用 2 楼 veryfd 的回复:]
初始化两个指针指向链表首节点,一个每次向后跳一个节点,另一个每次向后跳两个节点,依次循环
每次判断两个指针的地址值,如果出现了相等的情况那么表示链表中存在环,如果某个指针指向了链表尾或者空值,那么该链表中不存在环
[/Quote]
我都说了用快慢指针可以判断是否有环~~但是有环就叫循环链表吗?
Indifferent_Wind
2011-10-08
打赏
举报
回复
看看最后一个节点是否为NULL
veryfd
2011-10-08
打赏
举报
回复
初始化两个指针指向链表首节点,一个每次向后跳一个节点,另一个每次向后跳两个节点,依次循环
每次判断两个指针的地址值,如果出现了相等的情况那么表示链表中存在环,如果某个指针指向了链表尾或者空值,那么该链表中不存在环
chhch11111
2011-10-08
打赏
举报
回复
尾节点的指针指向头结点不就是循环链表了么
全球各国汇率、短长期、政策利率数据(1914-2024.3)
根据国际货币基金组织(IMF)等平台的数据,整理了全球各国的兑美元汇率,短期利率、长期利率、政策利率数据,时间范围最新至2024年3月,希望对大家有所帮助 一、数据介绍 数据名称:全球各国汇率、短长期、政策利率数据 数据范围:全球国家 样本数量:76403条 数据年份:1914-2024.3 数据说明:包含兑美元汇率、短期利率、长期利率、政策利率 更新时间:2024年3月 二、指标范围 单位 国家 年份 兑美元汇率-月度均值 兑美元汇率-年度均值 短期利率 长期利率 政策利率
YOLO算法实验室电子仪器电源状态目标检测数据集-60张-标注类别为关机状态-开机状态.zip
YOLOv11目标检测实战项目
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章