Загрузка [MathJax]/jax/output/HTML-CSS/fonts/TeX/fontdata.js

printРабочее место участника

printЗадачи

2518. Списки-7

Ограничения: время – 200ms/500ms, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Двусвязный список имеет следующую структуру узла

typedef struct node {
  int value;
  struct node *next, *prev;
} node;

Напишите функцию insertafter(корень, узел, значение), которая добавляет новый узел с указанным значением после заданного. Для вставки нового узла в начало списка в качестве узла указывается NULL, при этом изменяется указатель на корень.

#include <stdio.h>
#include <stdlib.h>
typedef struct node {
  int value;
  struct node *next, *prev;
} node;
// определение функции insertafter
...
int main()
{ node *root=NULL;
  // root->NULL
  insertafter(&root,NULL,1);
  // root->[1]->NULL
  insertafter(&root,NULL,2);
  // root->[2]<->[1]->NULL
  insertafter(&root,NULL,3);
  // root->[3]<->[2]<->[1]->NULL
  node *n=root->next;
  insertafter(&root,n,4);
  // root->[3]<->[2]<->[4]<->[1]->NULL
}

В качестве решения необходимо отправлять файл, содержащий только эту функцию!

loading