На этом шаге рассмотрим понятие стека.
Концепция стека играет важную роль в программировании вообще; кроме того, ее важно понимать при использовании рекурсии.
Предположим, вы устраиваете олимпиаду по программированию. Вы составляете список задач и записываете дела на листках.
Помните, когда мы рассматривали массивы и списки, у вас тоже был список задач? Задачи, то есть элементы списка, можно было добавлять и удалять в произвольных позициях списка. Стопка листков работает куда проще. Новые (вставленные) элементы добавляются в начало списка, то есть на верх стопки. Читается только верхний элемент, и он исключается из списка. Таким образом, список задач поддерживает всего два действия: занесение (вставка) и извлечение (выведение из списка и чтение).
Посмотрим, как работает список задач:
Такая структура данных называется стеком.
На следующем шаге продолжим рассматривать рекурсию.