Вы находитесь на странице: 1из 1

1.Описать алгоритм реализации очереди с использованием двух стеков.

Stack реализует следующие функции:


1) push;
2) pop;
3) peek (optional).

Очередь на двух стеках(stack_1, stack_2)

Операция push:
 Элемент добавляется в stack_1.

Операция pop:
 Проверяем, пуст ли stack_2.
 Если stack_2 пуст, то перекладываем элементы из stack_1 в stack_2
последовательными вызовами pop() и push() => в stack_2 элементы будут
лежать элементы stack_1 в обратном порядке.
◦ Достаём верхний елемент из stack_2.
 Если stack_2 не пуст, то просто достаём верхний элемент из stack_2. Как
только stack_2 опустеет, делаем копирование из stack_1.
Операция peek:
 Алгоритм такой же, как и для pop(), но без удаления из stack_2 при его
извлечении.

Вам также может понравиться