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

Материал из 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;

, с всеми вышеперечисленными методами.

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