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

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

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

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

Реализуйте метод ReorderList, который перегруппирует список L0L1L2 → ... → Ln-1Ln в список L0LnL1Ln-1L2Ln-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 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
5
1 2 3 4 5
Вихідні дані #1
1 5 2 4 3
Автор Михайло Медведєв
Джерело Мова С++