Стек: различия между версиями

Материал из Algocode wiki
Перейти к: навигация, поиск
Строка 12: Строка 12:
 
* <code>clear()</code> - очистить стек
 
* <code>clear()</code> - очистить стек
  
В С++ стек уже реализован, <syntaxhighlight lang="C++">stack<T>stack_name;</syntaxhighlight>, с всеми вышеперечисленными методами.
+
В С++ стек уже реализован - <code>stack<T>stack_name;</code>.
  
 
==Задачи на стек==
 
==Задачи на стек==

Версия 14:28, 18 октября 2019

Стек

Стек - структура данных, которая хранит элементы и умеет отвечать на две операции за $O(1)$:

  • push(x) - положить элемент x в конец стека
  • pop() - снять и вернуть элемент, лежащий в конце стека

То есть это структура данных, где действия происходят только с элементом, лежащим в конце. Выполняется принцип FILO (First In - Last Out) - последним вынется тот элемент, который мы положили первым, если сначала положить все элементы, а потом все вынуть.

Часто для удобства у стека еще есть операции

  • size() - размер стека
  • empty() - проверка на пустоту
  • clear() - очистить стек

В С++ стек уже реализован - stack<T>stack_name;.

Задачи на стек