eolymp
bolt
Try our new interface for solving problems
Məsələlər

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

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

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

Реализуйте метод 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.

Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 64 MiB
Giriş verilənləri #1
5
1 2 3 4 5
Çıxış verilənləri #1
1 5 2 4 3
Müəllif Михаил Медведев
Mənbə Язык С++