Очередь (queue) — это линейная структура данных, которая организует элементы по принципу FIFO (First In, First Out — первым вошёл, первым вышел). Именно так работает обычная очередь в магазине, в кассу, на посадку в самолёт или в call-центре.

Что такое очередь

Очередь — это упорядоченная коллекция элементов, в которой:
  • добавление происходит с одного конца
  • удаление происходит с противоположного конца
Основные операции:
  • enqueue — поставить элемент в конец очереди
  • dequeue — забрать элемент из начала очереди
  • front / peek — посмотреть элемент в начале, не удаляя
  • is_empty — проверить, пуста ли очередь
  • size — узнать текущее количество элементов

Примеры реализации

Python — кольцевая очередь на списке:
Python — простая очередь на связном списке:

Преимущества очередей

  • Чётко моделируют реальные процессы ожидания
  • Все базовые операции выполняют быстро
  • Кольцевой буфер — один из самых кэш-дружественных вариантов
  • Легко расширяется до приоритетных очередей и деков
  • Простая и надёжная структура

Ограничения

  • Нет доступа к элементам в середине
  • При использовании связного списка тратится дополнительная память на указатели

Где очереди применяются на практике

  • Планировщики задач и процессы в операционных системах
  • Очереди печати, обработки запросов в веб-серверах
  • Буферизация потоков (аудио, видео, сетевые пакеты)
  • BFS (поиск в ширину) в графах и деревьях
  • Симуляция очередей в моделях (банки, call-центры, магазины)
  • Асинхронные очереди задач 
Очередь — это та структура, без которой невозможно представить современные системы: от браузера и мессенджера до ядра операционной системы и облачных сервисов. Понимание принципа FIFO и умение выбрать правильную реализацию (кольцевой буфер vs связный список) сильно влияет на производительность и предсказуемость программы.
Если стек — это "стопка тарелок", то очередь — это "очередь в кассу": кто пришёл раньше всех — тот и обслуживается первым.