Стек - процедурный подход
Сначала Вы должны решить, как хранить значения, которые поступят в стек. Мы предлагаем использовать самые простые методы и список для этой работы. Предположим, что размер стека никак не ограничен. Предположим также, что последний элемент списка хранит верхний элемент.
Сам стек уже создан:
stack = []
Мы готовы определить функцию, которая помещает значение в стек. Вот предпосылки для этого:
- имя функции -
push
; - функция получает один параметр (это значение для помещения в стек);
- функция ничего не возвращает;
- функция добавляет значение параметра в конец стека.
Вот как мы это сделали - посмотрите:
def push(val):
stack.append(val)
Теперь пришло время функции извлечь значение из стека. Вот как Вы можете это сделать:
- название функции - pop;
- функция не получает никаких параметров;
- функция возвращает значение, взятое из стека;
- функция считывает значение с вершины стека и удаляет его.
Вот наша функция:
def pop():
val = stack[-1]
del stack[-1]
return val
Примечание: функция не проверяет наличие какого-либо элемента в стеке.
Давайте соберем все части вместе, чтобы привести стек в движение. Полная программа помещает три числа в стек, получает их из него и выводит их значения на экран. Вы можете увидеть это в окне редактора.
Программа выводит следующий текст на экран:
1
2
3
output
Проверьте это.