Open In App

Data Structures | Linked List | Question 8

The following  function takes a single-linked list of integers as a parameter and rearranges the elements of the list. The function is called with the list containing the integers 1, 2, 3, 4, 5, 6, 7 in the given order. What will be the contents of the list after the function completes execution? 




class Node {
    int value;
    Node next;
}
 
void rearrange(Node list) {
    Node p, q;
    int temp;
    if (list == null || list.next == null) {
        return;
    }
    p = list;
    q = list.next;
    while (q != null) {
        temp = p.value;
        p.value = q.value;
        q.value = temp;
        p = q.next;
        q = p != null ? p.next : null;
    }
}

(A)



1,2,3,4,5,6,7

(B)



2,1,4,3,6,5,7

(C)

1,3,2,5,4,7,6

(D)

2,3,4,5,6,7,1

Answer: (B)
Explanation:

The function rearrange() exchanges data of every node with its next node. It starts exchanging data from the first node itself.
For eg. 3,5,7,9,11
answer:- 5,3,9,7,11

Quiz of this Question
Please comment below if you find anything wrong in the above post

Article Tags :