Виведення зв'язного списку#7452

Виведення зв'язного списку

1 секунда
64 мегабайти
Дуже легка

Задано масив цілих чисел. Створіть Зв'язний Список із цих чисел. Виведіть Зв'язний Список у прямому та зворотному напрямку.

Напишіть код згідно з наступним інтерфейсом:

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 Print(void); // Вивести елементи Зв'язного Списку
    void PrintReverse(void); // Вивести елементи Зв'язного Списку в зворотному порядку
};

Ви можете створювати (використовувати) за необхідності додаткові методи.

Вхідні дані

Перший рядок містить число (1 \leq n \leq 100). Другий рядок містить цілих чисел.

Вихідні дані

У першому рядку, використовуючи метод Print, виведіть елементи Зв'язного Списку. У другому рядку за допомогою методу PrintReverse виведіть елементи Зв'язного Списку у зворотному порядку.

Приклади

Приклад 1

Loading
Loading