Vidyalelo
Data Structure · Q89

Introduction to Data Structures

Programming · Data Structure · question 89

Q89

The following function reverse() is supposed to reverse a singly linked list. There is one line missing at the end of the function. /* Link list node */ struct node int data; struct node* next; ; /* head_ref is a double pointer which points to head (or start) pointer of linked list */ static void reverse(struct node** head_ref) struct node* prev = NULL; struct node* current = *head_ref; struct node* next; while (current != NULL) next = current->next; current->next = prev; prev = current; current = next; /*ADD A STATEMENT HERE*/ What should be added in place of "/*ADD A STATEMENT HERE*/", so that the function correctly reverses a linked list.

A.
*head_ref = prev;
Answer
B.
*head_ref = current;
C.
*head_ref = next;
D.
*head_ref = NULL;

Answer: Option A

Solution

Answer: Option A
No explanation is given for this question Let's Discuss on Board