Задачі
Класс LinkedList
Класс LinkedList
Реализуйте структуру данных Однонаправленный Связный Список, которая поддерживает следующие операции:
- Empty - Проверяет пустой ли список. Возвращает true или false.
- addFirst - Добавляет элемент в начало списка.
- addLast - Добавляет элемент в конец списка.
- removeFirst - Удаляет элемент из начала списка.
- removeLast - Удаляет элемент из конца списка.
- size - Возвращает количество элементов в списке.
- Print - Выводит элементы списка в одной строке.
Напишите код согласно следующего интерфейса:
// Java
class ListNode
{
int data; // значение вершины
ListNode next; // ссылка на следующую вершину
public ListNode(int data); // конструктор
}
class LinkedList
{
ListNode head, tail; // ссылки на голову и хвост списка
public LinkedList(); // конструктор
public boolean Empty(); // проверка пустой ли список
public void addFirst(int val); // добавить val в начало списка
public void addLast(int val); // добавить val в конец списка
public boolean removeFirst(); // удалить первый элемент списка, вернуть true если удаление прошло успешно
public boolean removeLast(); // удалить последний элемент списка, вернуть true если удаление прошло успешно
public int size(); // вернуть размер списка
public void Print(); // вывести значения списка в одной строке
}
// C++
class ListNode
{
public:
int data; // значение вершины
ListNode *next; // указатель на следующую вершину
ListNode(int data); // конструктор
};
class LinkedList
{
public:
ListNode *head, *tail; // указатели на голову и хвост списка
LinkedList(); // конструктор
bool Empty(); // проверка пустой ли список
void addFirst(int val); // добавить val в начало списка
void addLast(int val); // добавить val в конец списка
bool removeFirst(); // удалить первый элемент списка, вернуть true если удаление прошло успешно
bool removeLast(); // удалить последний элемент списка, вернуть true если удаление прошло успешно
int size(); // вернуть размер списка
void Print(); // вывести значения списка в одной строке
};