Задано масив цілих чисел. Створіть Зв'язний Список із цих чисел. Виведіть Зв'язний Список у прямому та зворотному напрямку.
Напишіть код згідно з наступним інтерфейсом:
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