Урок #42.Функции и стек. Стек алгоритм. Стек что это. Стек рекурсии. Стек c++. Стек рекурсивных вызовов.
Cтек ( Stack ) и Куча ( Heap ) : об основных различиях в двух словах. Очень кратко, но понятно.
Стек — это область оперативной памяти, которая создаётся для каждого потока. Он работает в порядке LIFO (Last In, First Out), то есть последний добавленный в стек кусок памяти будет первым в очереди на вывод из стека. Каждый раз, когда функция объявляет новую переменную, она добавляется в стек, а когда эта переменная пропадает из области видимости (например, когда функция заканчивается), она автоматически удаляется из стека. Когда стековая переменная освобождается, эта область памяти становится доступной для других стековых переменных...
Для чего нужны стеки?
Источник: Nuances of Programming Когда я узнал, что такое стек, мне стало интересно его практическое применение. Оказалось, что чаще всего эта структура используется для имплементации операции “Отмена” ( то есть, ⌘+Z или Ctrl+Z). Чтобы понять, как это работает, разберемся с определением стека. Что такое стек? Стек — список элементов, который может быть изменён лишь с одной стороны, называющейся вершиной стека. Представьте приспособление для раздачи тарелок, в котором тарелки стоят в стопке. Новые тарелки можно добавлять только поверх уже имеющихся, а брать можно лишь сверху...