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

Чтобы реализовать стек с помощью очереди, вы можете использовать следующие методы:

  1. Метод 1. Операция push является дорогостоящей
    В этом методе операция push становится дорогостоящей, а операция pop — эффективной.

    • Используйте две очереди, назовем их «очередь1» и «очередь2».
    • Для операции push поставьте новый элемент в очередь очереди2.
    • Перенести все элементы из очереди 1 в очередь 2.
    • Поменяйте местами имена очереди1 и очереди2.
    • Таким образом, вновь добавленный элемент окажется в начале очереди, имитируя поведение стека.
  2. Метод 2: операция извлечения является дорогостоящей
    В этом методе операция извлечения становится дорогостоящей, а операция отправки — эффективной.

    • Используйте две очереди, назовем их «очередь1» и «очередь2».
    • Для операции push поставьте новый элемент в очередь 1.
    • Для операции извлечения перенесите все элементы, кроме последнего, из очереди1 в очередь2.
    • Извлеките последний элемент из очереди 1, что фактически удалит верхний элемент стека.