std::stack C++. Стек из контейнеров стандартной библиотеки.
- Контейнер std::stack или стек, обеспечивает доступ к элементам по принципу LIFO (last in, first out "последний пришел - первый ушел", аналогия со стопкой тарелок или пачкой бумаги), где пришедшие соответствуют записываемым элементам, а ушедшие считываемым. Подключается через #include <stack>.
- Элементы добавляются/удаляются и считываются из вершины стека.
- Если требуется контейнер обеспечивает доступ к элементам по принципу FIFO (first in, first out "первый пришел - первый ушел") используйте std::queue.
Метод | Описание | Пример | Сложность
|
---|
emplace(Args&&... args)
| Создает и вставляет элемент в вершину стека.
| st.emplace(2);
| O(1)
|
empty()
| Возвращает пустой ли стек.
| if(st.empty())
| O(1)
|
pop()
| Удаляет верхний элемент стека.
| st.pop();
| O(1)
|
push(const T& val)
| Вставляет элемент в вершину стека.
| st.push(12);
| O(1)
|
size()
| Возвращает количество элементов стека.
| size_t sz = st.size();
| O(1)
|
stack()
| Конструктор пустого стека;
| stack<int> st;
| O(1)
|
stack(initializer_list<value_type> il)
| Конструктор стека из списка инициализации.
| stack st({4, 6, 8});
| O(n)
|
stack(const cont_type cn)
| Конструктор копирования, создает стек из значений другого контейнера.
| stack st(v);
| O(n)
|
swap(stack& st1)
| Обменивает содержимое 2х стеков
| st.swap(st1);
| O(1)
|
top()
| Возвращает ссылку на верхний элемент стека
| auto i = st.top();
| O(1)
|
2023-12-15
Понравилась страница?
Добавить в закладки
Или поделиться!
Связанные темы
array - статический массив (после создания размер не изменяется). Быстрее вектора. Выбор контейнера из стандартной библиотеки С++. deque - двусторонняя очередь (дек). Эффективное вставка-удаление по концам очереди. forward_list - односвязный список с эффективной вставкой/удалением в начало списка. list - двусвязный список с эффективной вставкой/удалением в любом месте списка. map - словарь сортированных уникальных пар ключ-значение. multimap - словарь сортированных неуникальных пар ключ-значение. multiset - множество сортированных неуникальных элементов. priority_queue - очередь с приоритетом (с сортировкой значений). queue - очередь FIFO first in, first out "первый пришел - первый ушел". set - множество сортированных уникальных элементов. stack - стек LIFO last in, first out "последний пришел - первый ушел". unordered_map - словарь несортированных уникальных пар ключ-значение. unordered_multimap - словарь несортированных неуникальных пар ключ-значение. unordered_multiset - множество несортированных неуникальных значений. unordered_set - множество несортированных уникальных значений. vector - вектор (массив) значений с изменяемым размером.