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
Can we sort hashmap?
Is learning data structures necessary?
Define Data Structures?
Have you ever used HashTable and Directory?
Can treeset have duplicates?
What is a bubble sort and how do you perform it?
What are the disadvantages of circular list?
What is the best case for bubble sort?
What are the standard ways in which a graph can be traversed?
What is a tech stack?
Tell me why might quick sort might be better than merge sort?
Which sorting is best and why?
What is significance of ” * ” ?
Why do we use collections?
Who invented data structure?