How can one find a cycle in the linked list? IF found how
to recognize the cycle and delete that cycle?
Answer Posted / kedar
Ans #6 is the correct version.
//ensure that it not a empty list or list with single node
or list with 2 nodes which is not a cycle.
bool find_cycle(Node* head){
if(head == NULL // empty list
|| head->next == NULL // list with 1 node
|| head->next>next == NULL) // 2 nodes w/o cycle
{
return false;
}
Node* ptr1 = head;
Node* ptr2 = head->next;
while(ptr1 != NULL && ptr2 != NULL && ptr2->next != NULL)
{
if(ptr1 == ptr2){
printf("\nClycle present in thr LinkList\n");
return true;
}
ptr1 = prt1->next;
ptr2 = ptr2->next->next;
}
return false;
}
Is This Answer Correct ? | 8 Yes | 0 No |
Post New Answer View All Answers
Who invented data structure?
What is a undirected graph?
how to delete first node from singly linked list?
What is storage structure in data structure?
How to use appendNode() in linkedlist()?
What is int data type?
Define graph?
What is data structure? Explain.
What are the differences between b tree and b+ tree?
Why is treeset sorted?
Can treeset contain null?
How do you sort a list in reverse order?
What are control structures?
Define a complete binary tree?
What are the advantages of modularity?