Що таке 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інакше.
Коментарі