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
What does it mean to sort an array?
Is python good for freshers?
What is perfect binary tree?
List the basic operations carried out in a linked list?
What is raid (redundant array of inexpensive disks)? Explain its level?
What are the best data structure courses for gate preparation?
Difference between arrays and linked list?
How can we delete any specific node from the linked list?
Which is faster arraylist or hashmap?
What happens if we put duplicate key in hashmap?
Name some applications which use linked lists.
What is a map in programming?
Is hashmap a collection?
What do you mean by data types?
Define the tree data structure.