Стек: различия между версиями
Материал из Algocode wiki
Глеб (обсуждение | вклад) (Новая страница: «==Стек== Стек - структура данных, которая хранит элементы и умеет отвечать на две операции...») |
Глеб (обсуждение | вклад) |
||
Строка 8: | Строка 8: | ||
Часто для удобства у стека еще есть операции | Часто для удобства у стека еще есть операции | ||
− | * size() - размер стека | + | * <code>size()</code> - размер стека |
− | * empty() - проверка на пустоту | + | * <code>empty()</code> - проверка на пустоту |
− | * clear() - очистить стек | + | * <code>clear()</code> - очистить стек |
− | В С++ стек уже реализован, stack<T>, с всеми вышеперечисленными методами. | + | В С++ стек уже реализован, <syntaxhighlight lang="C++">stack<T>stack_name;</syntaxhighlight>, с всеми вышеперечисленными методами. |
==Задачи на стек== | ==Задачи на стек== |
Версия 14:26, 18 октября 2019
Стек
Стек - структура данных, которая хранит элементы и умеет отвечать на две операции за $O(1)$:
- push(x) - положить элемент x в конец стека
- pop() - снять и вернуть элемент, лежащий в конце стека
То есть это структура данных, где действия происходят только с элементом, лежащим в конце. Выполняется принцип FILO (First In - Last Out) - последним вынется тот элемент, который мы положили первым, если сначала положить все элементы, а потом все вынуть.
Часто для удобства у стека еще есть операции
size()
- размер стекаempty()
- проверка на пустотуclear()
- очистить стек
В С++ стек уже реализован,
stack<T>stack_name;
, с всеми вышеперечисленными методами.