Где применяется
1. Задача
Очередь в программе устроена так же, как очередь у кассы. Новый человек встаёт в конец, а обслуживают того, кто стоит в начале. Кто пришёл первым, первым и уходит: первым вошёл, первым вышел (по-английски FIFO). Стек, который ты только что построил, работает наоборот.
Очередь нужна, когда важен порядок и никто не должен ждать дольше положенного. Так ждут своей очереди задания на печать, задачи, которые ждут свободного обработчика, запросы к серверу, сообщения между системами. Позже очередь понадобится для обхода дерева уровень за уровнем. Идея та же, что у стека: маленькая структура, к которой есть доступ только по правилам. Разница в том, что добавляешь и удаляешь с разных концов.
Этот шаг из платной части
Бесплатные шаги в начале курса (их 33) открыты всем: урок, задача и тесты. Этот шаг открывается с полным доступом. Начни с бесплатного аккаунта и бесплатных шагов.
Завести бесплатный аккаунтПосмотреть, что входитНа LeetCode
Задачи, где элементы обслуживаются в порядке прихода, например запросы за последний отрезок времени или игроки по очереди. Добавляешь в конец очереди и берёшь из начала.
Добавляй время каждого вызова в конец и убирай из начала вызовы старше 3000 мс.
Собери очередь из двух стеков и перекладывай из одного в другой, только когда выходной стек пуст.
Смоделируй очередь, отправляя ученика в конец, если он не берёт верхний бутерброд.
Две очереди с позициями сенаторов, и победитель раунда встаёт в конец с позицией плюс n.