Все темы
51

Стопка, куда добавляешь и откуда берёшь сверху

Tier 1Закрыто

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

1. Задача

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

Правило стека такое: кладёшь наверх и берёшь сверху. Из середины или снизу не берёшь никогда. Положи числа 1, 2, 3. Первым снимется 3, потом 2, потом 1. Это правило называют «последним вошёл, первым вышел» (по-английски LIFO). Оно нужно программам для истории отмены, кнопки «назад», проверки скобок и стека вызовов (списка функций, которые начали работу и ждут, пока закончат вызванные ими). Но сначала нужна сама структура: маленький класс с верхом, на который кладут (push) и с которого снимают (pop).

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

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

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

На LeetCode

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

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