The following C 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 function completes execution?

struct node {

    int value;

    struct node *next;

};

void rearrange(struct node *list) {

    struct node *p, *q;

    int temp;

    if (!list || !list -> next) return;

    p = list; q = list -> next;

    while(q) {

        temp = p -> value; p->value =  q -> value;

        q->value = temp; p = q ->next;

        q = p? p ->next : 0;

    }  

}

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

Sponsored

hivanix.in

Visit

This quiz is brought to you by hivanix.in

🌐 Web App Development

Quick Navigation