Очередь (Queue)

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

Как работает очередь

В очередь элементы добавляются в «хвост» (enqueue), а забираются из «головы» (dequeue). Тот, кто пришёл раньше всех, выйдет первым.

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

  • enqueue — добавить элемент в конец;
  • dequeue — забрать элемент из начала;
  • front — посмотреть первый элемент.

Плюсы

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

Минусы

  • Нельзя быстро получить произвольный элемент по индексу;
  • Нужны дополнительные структуры (кольцевая очередь и др.) для оптимизаций.

Пример реализации очереди

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

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

  dequeue() {
    return this.items.length ? this.items.shift() : null;
  }

  front() {
    return this.items.length ? this.items[0] : null;
  }
}

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

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

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