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
Do you know how to find if linked list has loop?
How is any data structure application is classified among files?
What are stacks? Give some of its applications.
How does bogo sort work?
What are the objectives of studying data structures?
What is meant by binary tree traversal?
Is arraylist a class?
Explain the applications of stack?
When is a binary search best applied?
What is the difference between a push and a pop?
What is mean by merge sort?
What is linear and non linear structure?
What is the purpose of tochararray ()?
Which is faster array or arraylist?
Which is the parent class of sortedset