怎么判断一个单链表是否形成一个环? 怎么判断一个单链表是否形成一个环?包括局部的环!要求时间复杂度O(n),空间尽量小! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 while(结点->next!=NULL){ if (结点->next->数据==头结点->数据) break; 结点=结点->next;} while(结点->next!=NULL){ if (结点->next->数据==头结点->数据) break; 结点=结点->next;}不可以吧,加入第n个节点与头结点的数据相同??while(结点->next!=NULL){ if (结点->next==头结点->next) break; 结点=结点->next;}应该判断指向是否相同! #include <set>using namespace std;set <Data*> s;DATA* p = pHead;s.insert(p);while(p->next != NULL){ p = p->next; if(s.find(p) != s.end() { //形成环 break; } else s.insert(p);} Windows编程,UNICODE,_UNICODE有什么区别? 关于完成端口的问题 求助,如何从CStringArray中每次读出10条CString并发送 序列化的问题 请问谁知道vc 中的string table的作用吗? php的页面的下载问题? 虚拟打印机? 关于线程指针的问题? vc之思考! 看《MFC Windows程序设计》之前要不要先看《Windows程序设计》 你开发软件用台式机还是笔记本?如果是笔记本,笔记本是个人的还是公司的? 一个关于string的小问题。
{
if (结点->next->数据==头结点->数据) break;
结点=结点->next;}
{
if (结点->next->数据==头结点->数据) break;
结点=结点->next;}不可以吧,加入第n个节点与头结点的数据相同??
while(结点->next!=NULL)
{
if (结点->next==头结点->next) break;
结点=结点->next;}应该判断指向是否相同!
using namespace std;set <Data*> s;DATA* p = pHead;
s.insert(p);
while(p->next != NULL)
{
p = p->next;
if(s.find(p) != s.end()
{
//形成环
break;
}
else
s.insert(p);
}