Что такое stack в C++?
std::stack в языке программирования C++ представляет собой контейнер, реализующий структуру данных "стек" (или "очередь с ограниченным доступом"). В стеке элементы добавляются и удаляются только с одного конца, называемого вершиной стека. Этот контейнер входит в Standard Template Library (STL) и предоставляет удобный интерфейс для работы с данными по принципу "последний вошел, первый вышел" (Last In, First Out, LIFO).
#include <iostream>
#include <stack>
int main() {
// Создание стека целых чисел
std::stack<int> numbers;
// Добавление элементов в стек
numbers.push(1);
numbers.push(2);
numbers.push(3);
// Вывод вершины стека
std::cout << "Top of the stack: " << numbers.top() << std::endl;
// Удаление вершины стека
numbers.pop();
// Проверка стека на пустоту
if (!numbers.empty()) {
std::cout << "Stack is not empty." << std::endl;
} else {
std::cout << "Stack is empty." << std::endl;
}
return 0;
}
Основные операции с std::stack:
- Добавление элементов: Элементы добавляются в
std::stackс использованием методаstd::stack::push(). - Удаление элементов: Метод
std::stack::pop()удаляет вершину стека. - Доступ к вершине стека: Метод
std::stack::top()позволяет получить значение вершины стека без ее удаления. - Проверка на пустоту: Метод
std::stack::empty()возвращаетtrue, если стек пуст, иfalseв противном случае.
Комментарии