Стек (англ. stack) - это структура данных, в которой доступ осуществляется только к последнему добавленному элементу: новые элементы добавляются в конец стека, элементы удаляются также из конца стека, то есть при удалении элемента из стека удаляется последний добавленный элемент. В STL есть специальный контейнер stack, который реализует подобную функциональность. Для его использования необходимо подключить заголовочный файл stack:
#include<stack>
Объявляется стек, например, целых чисел так:
stack <int> S;
Стек поддерживает следущие методы:
Название метода | Описание |
size() | Возвращает размер стека |
empty() | Возвращает true, если стек пуст, или false, если непуст |
top() | Возвращает значение верхнего элемента в стеке |
pop() | Удаляет верхний элемент из стека, не возвращает значение |
push(elem) | Добавляет новый элемент elem на вершину стека |
Операции pop() или top(), вызванные для пустого стека, приведут к ошибке исполнения.
Также с объектами класса stack допустимы операции =, ==, !=, <, >, <=, >=.
Подробней о контейнере stack можно прочитать в документации.