社区
C++ 语言
帖子详情
关于链表有环是如何判断呢?
daocha
2010-03-08 05:48:22
看了很多 网上大多是解决环形链表或者“6”型链表的方法,我现在要解决的是
-0---0---0---0---0---0---0---0---0---0-
|___________|
类似于这种的带有环的链表, 如何来判断它是否含有环
...全文
328
9
打赏
收藏
关于链表有环是如何判断呢?
看了很多 网上大多是解决环形链表或者“6”型链表的方法,我现在要解决的是 -0---0---0---0---0---0---0---0---0---0- |___________| 类似于这种的带有环的链表, 如何来判断它是否含有环
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
r11222
2010-03-08
打赏
举报
回复
mark……等答案!!
daocha
2010-03-08
打赏
举报
回复
哎 我也不知道 今天面试的时候被问的
cattycat
2010-03-08
打赏
举报
回复
楼主给的例子不对,单链表有环的话,后面直接是个圈,就是6字的形状。
用两个指针,1个每次往前1步,第2个每次向前2步,如果这两个指针最后会相等,说明有环。
就是楼上的代码描述的。
skyygl
2010-03-08
打赏
举报
回复
单链表判断有没有环的情况:
struct Node
{
int data;
Node* next;
};
void Check_Linklist_Circle(Node* temp)
{
Node* head1 = temp;
Node* head2 = temp;
while(head1->next != head2->next->next)
{
head1 = head1->next;
head2 = head2->next->next;
if(head1 == NULL || head2 == NULL)
{
cout<<"链表没有环"<<endl;
return ;
}
}
cout<<"链表有环"<<endl;
}
顺便说一下,楼主你要的这样的链表是不存在的,因为你说的链表中有的结点有两个指针域,有的结点只有一个指针域,这样的链表是不规则的
昵称很不好取
2010-03-08
打赏
举报
回复
引用 1 楼 thefirstz 的回复:
用2个不一样步长的指针,一个每次跑一步,一个每次跑2步,如果跑2步的能追上跑一步的
那就说明有环存在
晕,没看清题意~~
楼主的这种链表不可能存在的~~
next域没法写啊
harpe1999
2010-03-08
打赏
举报
回复
貌似这样是不可以的吧,楼主想想啊,每个节点只有一个next指针,
楼主那里,交汇处存在两个next指针了!!!!
kevinz26
2010-03-08
打赏
举报
回复
lz 这种环的 元素的数据结构是咋样的? 不是单链表也不是双向链表……
昵称很不好取
2010-03-08
打赏
举报
回复
漏说了一句,用这个指针去遍历这个链表
http://www.cppblog.com/humanchao/archive/2008/04/17/47357.html
昵称很不好取
2010-03-08
打赏
举报
回复
用2个不一样步长的指针,一个每次跑一步,一个每次跑2步,如果跑2步的能追上跑一步的
那就说明有环存在
算法入门教程——
链表
循序渐进的讲解
链表
的相关知识。其中通过丰富的例题讲解,加深同学们对
链表
的遍历、节点的插入与删除的知识的理解。
【算法】如何
判断
链表
有环
如何用程序
判断
出这个
链表
是
有环
链表
? 不允许修改
链表
结构。 时间复杂度O(n),空间复杂度O(1)。 方法一、穷举遍历方法一:首先从头节点开始,依次遍历单
链表
的每一个节点。每遍历到一个新节点,就从头节点...
判断
链表
有环
——为什么快慢指针可以解决“
判断
链表
是否成环”的问题?
目录题目与答案为什么快慢指针可以解决“
判断
链表
是否成环”的问题?(1)对于
链表
没
有环
的情况,快指针最终指向NULL指针。(2)对于
链表
有环
的情况,快指针最终和慢指针相遇。重点:对于
链表
有环
的情况,为什么能够...
如何
判断
单向
链表
是否
有环
?
前言:
链表
在开发过程中属于出现频次十分高的一种数据结构,在java中,比如我们熟知的LinkedList、HashMap底层结构、LinkedHashMap、AQS等都使用到了
链表
,关于单向
链表
有几个经典问题 : 1:如何
判断
链表
有环
2:如果...
如何
判断
链表
有环
如何用程序
判断
出这个
链表
是
有环
链表
? 不允许修改
链表
结构。 时间复杂度O(n),空间复杂度O(1)。方法一、穷举遍历 方法一:首先从头节点开始,依次遍历单
链表
的每一个节点。每遍历到一个新节点,就从头节点重新遍历...
C++ 语言
64,653
社区成员
250,478
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章