How can one find a cycle in the linked list? IF found how
to recognize the cycle and delete that cycle?
Answer Posted / kamran
As far as answer 2 is concerned..it is not correct because
ptr1 and ptr2 is both pointing towards Head. and below
while loop true at first attempt and both the pointer are
still pointing toward head so at first etration condition
will be true even though there is no loop :)
The modified verision is this
bool find_cycle(Node* head){
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 ? | 18 Yes | 1 No |
Post New Answer View All Answers
What is linear and non linear structure?
What stack means?
What is the Difference between treemap and hashmap?
Is sorting a math skill?
What type of memory allocation is referred for Linked lists?
Explain what are the notations used in evaluation of arithmetic expressions using prefix and postfix forms?
Are linked lists useful?
Construct a doubly linked list using a single pointer in each node?
Differentiate linear from non linear data structure?
Which sorting is worst?
Write a program to reverse a single linked list.
Define non-terminal nodes in a tree?
Explain the term tail recursion?
What is the minimum number of nodes in an avl tree of height h?
To describe the Complexity of Binary search, Quicksort and various other sorting and searching techniques..