| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 527 人关注过本帖
标题:大家帮忙讨论一下这个链表问题吧
只看楼主 加入收藏
kissyx
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-10-3
收藏
 问题点数:0 回复次数:3 
大家帮忙讨论一下这个链表问题吧
一个不知长度的单向链表,尾节点可能指针域没指向NULL,而指向了表中某个节点,怎么判断有没有发生这种情况,大家有好方法吗?
搜索更多相关主题的帖子: 链表 
2005-10-05 02:05
jackrain
Rank: 1
等 级:新手上路
帖 子:182
专家分:0
注 册:2005-9-4
收藏
得分:0 
这个不好办,可以估计一下表的大小,比如估计为N,N最后适当的大,
1、定义指针p 指向表头
2、判断p->next是不是NULL,如果是就退出。否则计数器加1。如果计数器大于N了,说明链表成了循环链表。退出。
3、p= p->next。然后2。

当然这样也不是好办法。最好的办法当然是写程序的时候控制好。

程序和身体一样,健壮,再健壮! 我爱C++
2005-10-05 18:39
type_error
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2005-9-28
收藏
得分:0 
简单

在节点上新增加bool isPassed;
走过的把他变为true,没有走过的是false.

走到下一个节点的时候先判断isPassed是不是true,入果是就式死循环。
2005-10-05 20:27
kissyx
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-10-3
收藏
得分:0 
三楼的办法很巧妙啊!!!
谢谢二楼三楼的高手指教!
2005-10-05 22:35
快速回复:大家帮忙讨论一下这个链表问题吧
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014391 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved