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
Explain circular linked list?
Why do we need a data structure?
Which sorting technique is faster?
How many pointers are necessary to implement a simple linked list?
Why linked list is required?
What is a data structure node class?
When should structures be passed by values or by reference?
Which interface treemap implements?
Is array a data type?
Discuss how to implement queue using stack.
How many times is merge sort called?
Define disjoint set adt?
Tell me about circular linked list?
What is stack push?
Explain the Queue