eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Изменение порядка списка

Изменение порядка списка

Лимит времени 1 секунда
Лимит использования памяти 64 MiB

Задан массив целых чисел. Создайте Связный Список из этих чисел.

Реализуйте метод ReorderList, который перегруппирует список L[0]L[1]L[2] → ... → L[n-1]L[n] в список L[0]L[n]L[1]L[n-1]L[2]L[n-2] → ... .

Напишите код согласно следующего интерфейса:

class Node

{

public:

int data;

Node *next;

Node() : next(NULL) {};

Node(int data, Node *next = NULL) : data(data), next(next) {};

};

class List

{

public:

Node *head, *tail;

List() : head(NULL), tail(NULL) {};

void AddToTail(int val); // Добавьте число val в конец Связного Списка

void ReorderList(void) // Перегруппировка элементов списка как приведено выше

void Print(void); // Выведите элементы Связного Списка

};

Вы можете создавать (использовать) по необходимости дополнительные методы.

Входные данные

Первая строка содержит число n (1n10000). Вторая строка содержит n целых чисел.

Выходные данные

Выведите элементы Связного Списка после перегруппировки его элементов, используя метод Print.

Пример

Входные данные #1
5
1 2 3 4 5
Выходные данные #1
1 5 2 4 3
Автор Михаил Медведев
Источник Язык С++