Module (13%)
Section (13%)

Стек - процедурный подход

Сначала Вы должны решить, как хранить значения, которые поступят в стек. Мы предлагаем использовать самые простые методы и список для этой работы. Предположим, что размер стека никак не ограничен. Предположим также, что последний элемент списка хранит верхний элемент.

Сам стек уже создан:

stack = []

Мы готовы определить функцию, которая помещает значение в стек. Вот предпосылки для этого:

  • имя функции - push;
  • функция получает один параметр (это значение для помещения в стек);
  • функция ничего не возвращает;
  • функция добавляет значение параметра в конец стека.
 

Вот как мы это сделали - посмотрите:

def push(val): stack.append(val)

Теперь пришло время функции извлечь значение из стека. Вот как Вы можете это сделать:

  • название функции - pop;
  • функция не получает никаких параметров;
  • функция возвращает значение, взятое из стека;
  • функция считывает значение с вершины стека и удаляет его.

Вот наша функция:

def pop(): val = stack[-1] del stack[-1] return val

Примечание: функция не проверяет наличие какого-либо элемента в стеке.

Давайте соберем все части вместе, чтобы привести стек в движение. Полная программа помещает три числа в стек, получает их из него и выводит их значения на экран. Вы можете увидеть это в окне редактора.

 

Программа выводит следующий текст на экран:

1 2 3

output

Проверьте это.



Code

stack = []

def push(val):
stack.append(val)


def pop():
val = stack[-1]
del stack[-1]
return val

push(3)
push(2)
push(1)

print(pop())
print(pop())
print(pop())
{{ dockerServerErrorMsg }} ×
{{ errorMsg }} ×
{{ successMsg }} ×