stack

Класс stack поддерживает стек. Спецификация его шаблона имеет следующий вид.

Копировать
template <class Т, class Container = deque<T>> class stack

Здесь Т - тип данных, сохраняемых в стеке, а Container - тип контейнера, используемого для реализации стека. Класс stack имеет следующий конструктор.

Копировать
explicit stack(const Container &cnt = Container());

Конструктор stack() создает пустой стек. По умолчанию в качестве контейнера используется дек(deque), но к стеку можно получить доступ только по принципу "последним вошел - первым вышел". Можно также в качестве контейнера для стека использовать вектор(vector) или список(list). Контейнер содержится в защищенном объекте с именем с типа Container.

Для класса stack определены следующие операторы сравнения: ==, <, <=, !=, > и >=.

Класс stack содержит перечисленные ниже функции

Функция-член Назначение
bool empty() const; Возвращает true, если данный стек пуст, и false в противном случае
void pop(); Удаляет верхний элемент в стеке, который формально является последним элементом в контейнере
void push(const Т &val); Помещает элемент, значение которого задано параметром val , в конец стека. Последний элемент в контейнере представляет вершину стека
size_type size() const; Возвращает текущее количество элементов в стеке
value_type &top();
const value_type &top() const;
Возвращает ссылку на вершину стека, что эквивалентно последнему элементу в контейнере. Этот элемент не удаляется