Стек (Stack)

Структура данных «последним пришёл — первым вышел» (LIFO), как стопка книг или тарелок.

Как работает стек

В стек можно класть элементы только сверху (операция push) и забирать тоже только сверху (операция pop). Нельзя сразу взять элемент из середины — сначала нужно снять все, что выше него.

Основные операции:

  • push — положить элемент на вершину;
  • pop — снять элемент с вершины;
  • top / peek — посмотреть верхний элемент, не удаляя его.

Плюсы

  • Очень простая и быстрая структура данных;
  • Операции занимают O(1) времени;
  • Используется повсюду: в рекурсии, отмене действий (undo), парсинге скобок и т.д.

Минусы

  • Доступ только к верхнему элементу;
  • Не подходит, если нужно быстро находить произвольный элемент.

Пример реализации стека

class Stack {
  constructor() {
    this.items = [];
  }

  push(x) {
    this.items.push(x);
  }

  pop() {
    return this.items.pop() ?? null;
  }

  peek() {
    return this.items.length ? this.items[this.items.length - 1] : null;
  }
}

Попробуй самостоятельно написать алгоритм, а затем сравнить

РазработаноStreltsov Nikita

© 2026 AlgoStudy. Все права защищены.