Home » Programming & Data Structure » Programming and data structure miscellaneous » Question

Programming and data structure miscellaneous

Programming & Data Structure

  1. 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 the 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. 1, 2, 3, 4, 5, 6, 7
    2. 2, 1, 4, 3, 6, 5, 7
    3. 1, 3, 2, 5, 4, 7, 6
    4. 2, 3, 4, 5, 6, 7, 1
Correct Option: B

The function rearrange() exchanges data of every node with its next node. It starts exchanging data from the first node itself.



Your comments will be displayed only after manual approval.