Все темы
52

Очередь: первым вошёл, первым вышел

Tier 1Закрыто

Где применяется

1. Задача

Очередь в программе устроена так же, как очередь у кассы. Новый человек встаёт в конец, а обслуживают того, кто стоит в начале. Кто пришёл первым, первым и уходит: первым вошёл, первым вышел (по-английски FIFO). Стек, который ты только что построил, работает наоборот.

Очередь нужна, когда важен порядок и никто не должен ждать дольше положенного. Так ждут своей очереди задания на печать, задачи, которые ждут свободного обработчика, запросы к серверу, сообщения между системами. Позже очередь понадобится для обхода дерева уровень за уровнем. Идея та же, что у стека: маленькая структура, к которой есть доступ только по правилам. Разница в том, что добавляешь и удаляешь с разных концов.

Этот шаг из платной части

Бесплатные шаги в начале курса (их 33) открыты всем: урок, задача и тесты. Этот шаг открывается с полным доступом. Начни с бесплатного аккаунта и бесплатных шагов.

Завести бесплатный аккаунтПосмотреть, что входит

На LeetCode

Задачи, где элементы обслуживаются в порядке прихода, например запросы за последний отрезок времени или игроки по очереди. Добавляешь в конец очереди и берёшь из начала.

Мы используем необходимые куки для работы сайта (вход и язык). Если ты согласишься, мы также загрузим Google Analytics, чтобы видеть, какие страницы читают, и Google reCAPTCHA для защиты форм обратной связи и сообщений об ошибке от спама. Политика конфиденциальности