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 is array sort?
What is difference between list and linked list?
What is meant by balanced binary tree?
What is priority queue in data structure?
What is the use of data structure in real life?
What is ascii sort order?
What is data in computer science?
Do you know what is linear search?
Is selection sort greedy?
What is raid (redundant array of inexpensive disks)?
Which language is best for learning data structures and algorithms?
What is fibonacci search?
Can you store different types in an array?
Tell me how to find middle element of linked list in one pass?
How would you reverse the characters of an array?