Рубрики

ВОРОТА | GATE CS 2008 | Вопрос 62

Следующая функция 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

Ответ: (Б)
Объяснение:

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

ВОРОТА | GATE CS 2008 | Вопрос 62

0.00 (0%) 0 votes