Стек — различия между версиями
Yurik (обсуждение | вклад) |
Borisov (обсуждение | вклад) |
||
Строка 10: | Строка 10: | ||
Арифметические сопроцессоры, программируемые микрокалькуляторы используют стековую модель вычислений. | Арифметические сопроцессоры, программируемые микрокалькуляторы используют стековую модель вычислений. | ||
− | == | + | ==Работа стека== |
[[Файл: lifo.png|trumb|300px|Простое представление стека]] | [[Файл: lifo.png|trumb|300px|Простое представление стека]] | ||
− | |||
== См. также == | == См. также == | ||
* [[Очередь]] | * [[Очередь]] |
Версия 19:15, 4 марта 2012
Содержание
Определение
Стек (англ. stack — стопка) — структура данных с методом доступа к элементам LIFO (англ. Last In — First Out, «последним пришёл — первым вышел»). Чаще всего принцип работы стека сравнивают со стопкой тарелок: чтобы взять вторую сверху, нужно снять верхнюю.
Добавление элемента, называемое также проталкиванием (push), возможно только в вершину стека (добавленный элемент становится первым сверху). Удаление элемента, называемое также выталкивание (pop), возможно также только из вершины стека, при этом, второй сверху элемент становится верхним.
Стеки широко применяются в вычислительной технике — в частности, для отслеживания точек возврата из подпрограмм используется стек вызовов, который является неотъемлемой частью архитектуры большинства современных процессоров. Язык программирования высокого уровня также используют стек вызовов для передачи параметров при вызове процедур.
Арифметические сопроцессоры, программируемые микрокалькуляторы используют стековую модель вычислений.