Клас LinkedList#10045

Клас LinkedList

1 секунда
128 мегабайтів
Дуже легка

Реалізуйте структуру даних Односпрямований Зв'язний Список, яка підтримує такі операції:

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

// 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(); // вивести значення списку в одному рядку
};
prb10045.gif