Рубрики

ВОРОТА | Gate IT 2005 | Вопрос 54

Следующая функция C принимает односвязный список целых чисел в качестве параметра и переупорядочивает элементы списка. Список представляется как указатель на структуру. Функция вызывается со списком, содержащим целые числа 1, 2, 3, 4, 5, 6, 7 в указанном порядке. Каким будет содержимое списка после завершения функции?

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, 3, 4, 5, 6, 7
(Б) 2, 1, 4, 3, 6, 5, 7
(С) 1, 3, 2, 5, 4, 7, 6
(D) 2, 3, 4, 5, 6, 7, 1

Ответ: (Б)
Пояснение: Пожалуйста, смотрите ссылку для более подробной информации http://espressocode.top/pairwise-swap-elements-of-a-given-linked-list/
Тест на этот вопрос

Рекомендуемые посты:

ВОРОТА | Gate IT 2005 | Вопрос 54

0.00 (0%) 0 votes