Data Structures | Linked List | Question 3
Consider the following function that takes reference to head of a Doubly Linked List as parameter. Assume that a node of doubly linked list has previous pointer as prev and next pointer as next.
void fun( struct node **head_ref) { struct node *temp = NULL; struct node *current = *head_ref; while (current != NULL) { temp = current->prev; current->prev = current->next; current->next = temp; current = current->prev; } if (temp != NULL ) *head_ref = temp->prev; } |
Assume that reference of head of following doubly linked list is passed to above function
1 2 3 4 5 6.
What should be the modified linked list after the function call?
(A) 2 1 4 3 6 5
(B) 5 4 3 2 1 6.
(C) 6 5 4 3 2 1.
(D) 6 5 4 3 1 2
Answer: (C)
Explanation: The given function reverses the given doubly linked list. See Reverse a Doubly Linked List for details.
Please Login to comment...