...
Heap-Tree
October 9, 2023
Data-Structures
October 9, 2023
Heap-Tree
October 9, 2023
Data-Structures
October 9, 2023

Nielit Scientist-B CS 22-07-2017

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
1<–>2<–>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
Question 3 Explanation: 
Struct node *current=*head_ref; —> This statement meant for storing start of linked list onto current pointer.
while(current!=NULL)
{
temp=current → prev;
Current → prev=current → next;
Current → next=temp;
current=current → prev;
}
The loop meant for traversing the entire list till to end by changing prev and next pointers of all nodes.
Change prev of the head (or start) and change the head pointer in the end.
Correct Answer: C
Question 3 Explanation: 
Struct node *current=*head_ref; —> This statement meant for storing start of linked list onto current pointer.
while(current!=NULL)
{
temp=current → prev;
Current → prev=current → next;
Current → next=temp;
current=current → prev;
}
The loop meant for traversing the entire list till to end by changing prev and next pointers of all nodes.
Change prev of the head (or start) and change the head pointer in the end.
0 0 votes
Article Rating
Subscribe
Notify of
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x
error: Alert: Content selection is disabled!!