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


Please Help Members By Posting Answers For Below Questions

What does it mean to sort an array?

460


Is python good for freshers?

496


What is perfect binary tree?

473


List the basic operations carried out in a linked list?

650


What is raid (redundant array of inexpensive disks)? Explain its level?

467






What are the best data structure courses for gate preparation?

486


Difference between arrays and linked list?

537


How can we delete any specific node from the linked list?

496


Which is faster arraylist or hashmap?

521


What happens if we put duplicate key in hashmap?

487


Name some applications which use linked lists.

539


What is a map in programming?

432


Is hashmap a collection?

511


What do you mean by data types?

520


Define the tree data structure.

505