October 9, 2023
October 9, 2023
October 9, 2023
###### Data-Structures
October 9, 2023
 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
{
struct node *temp=NULL;
while(current!=NULL)
{
temp=current → prev;
Current → prev=current → next;
Current → next=temp;
current=current → prev;
}
if(temp!=NULL)
}
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.
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.