Стек: различия между версиями
Материал из Algocode wiki
Глеб (обсуждение | вклад) |
Глеб (обсуждение | вклад) |
||
Строка 20: | Строка 20: | ||
* [[Стек в рекурсии]] | * [[Стек в рекурсии]] | ||
* [[Гистограмма]] | * [[Гистограмма]] | ||
+ | |||
+ | {{Автор|Глеб Лобанов|glebodin}} |
Текущая версия на 13:48, 22 октября 2019
Стек
Стек - структура данных, которая хранит элементы и умеет отвечать на две операции за $O(1)$:
push(x)
- положить элемент x в конец стекаpop()
- снять и вернуть элемент, лежащий в конце стека
То есть это структура данных, где действия происходят только с элементом, лежащим в конце. Выполняется принцип FILO (First In - Last Out) - последним вынется тот элемент, который мы положили первым, если сначала положить все элементы, а потом все вынуть.
Часто для удобства у стека еще есть операции
size()
- размер стекаempty()
- проверка на пустотуclear()
- очистить стек
В С++ стек уже реализован - stack<T>stack_name;
.
Задачи на стек
Автор конспекта: Глеб Лобанов
По всем вопросам пишите в telegram @glebodin