Skip to content
Related Articles

Related Articles

Save Article
Improve Article
Save Article
Like Article

Data Structures | Linked List | Question 7

  • Difficulty Level : Medium
  • Last Updated : 28 Jun, 2021

The following C function takes a simply-linked list as input argument. It modifies the list by moving the last element to the front of the list and returns the modified list. Some part of the code is left blank. Choose the correct alternative to replace the blank line.




typedef struct node 
{
  int value;
  struct node *next;
}Node;
   
Node *move_to_front(Node *head) 
{
  Node *p, *q;
  if ((head == NULL: || (head->next == NULL)) 
    return head;
  q = NULL; p = head;
  while (p-> next !=NULL) 
  {
    q = p;
    p = p->next;
  }
  _______________________________
  return head;
}

(A) q = NULL; p->next = head; head = p;
(B) q->next = NULL; head = p; p->next = head;
(C) head = p; p->next = q; q->next = NULL;
(D) q->next = NULL; p->next = head; head = p;


Answer: (D)

Explanation: See question 1 of https://www.geeksforgeeks.org/data-structures-and-algorithms-set-24/

Quiz of this Question

My Personal Notes arrow_drop_up
Recommended Articles
Page :