#include"list.h"
using namespace std;
bool ListisLoop(listnode* head)
{
listnode* pahead=head;
listnode* pbehind=head;
if(head->next==NULL)
return false;
while(pahead!=NULL&&pbehind!=NULL&&pbehind->next!=NULL&&pahead->next!=NULL)
{
pahead=pahead->next->next;
pbehind=pbehind->next;
if(pahead==pbehind)
return true;
}
return false;
}
int main()
{
list list1;
list1.addtolist(1);
list1.addtolist(2);
list1.addtolist(3);
list1.addtolist(4);
list1.addtolist(5);
list1.addtolist(6);
list1.addtolist(7);
list1.addtolist(8);
list1.addtolist(9);
list1.addtolist(10);
list1.print();
listnode* head=list1.Head();
if(ListisLoop(head))
cout<<"true"<<endl;
else
cout<<"false"<<endl;
return 0;
}
using namespace std;
bool ListisLoop(listnode* head)
{
listnode* pahead=head;
listnode* pbehind=head;
if(head->next==NULL)
return false;
while(pahead!=NULL&&pbehind!=NULL&&pbehind->next!=NULL&&pahead->next!=NULL)
{
pahead=pahead->next->next;
pbehind=pbehind->next;
if(pahead==pbehind)
return true;
}
return false;
}
int main()
{
list list1;
list1.addtolist(1);
list1.addtolist(2);
list1.addtolist(3);
list1.addtolist(4);
list1.addtolist(5);
list1.addtolist(6);
list1.addtolist(7);
list1.addtolist(8);
list1.addtolist(9);
list1.addtolist(10);
list1.print();
listnode* head=list1.Head();
if(ListisLoop(head))
cout<<"true"<<endl;
else
cout<<"false"<<endl;
return 0;
}