Статья Автор: Деникина Н.В., Деникин А.В.

Стек

Что такое стек? 

Стек — структура данных LIFO (Last In, First Out) — последний пришел, первый вышел.

Базовые операции

  • push — добавить элемент на вершину

  • pop — удалить элемент с вершины

  • top — посмотреть элемент на вершине

  • empty — проверить на пустоту

  • size — получить размер

Объявление

#include <stack>
using namespace std;

stack<int> st;  // стек целых чисел

Основные методы

stack<string> st;

// Добавление
st.push("first");
st.push("second");
st.push("third");

// Просмотр вершины
cout << st.top();  // "third"

// Удаление
st.pop();          // удаляет "third"

// Размер и проверка пустоты
cout << st.size();  // 2
cout << st.empty(); // 0 (false)
Пример использования


Особенности

  • Быстрые операции — O(1)

  • Ограниченный доступ — только к вершине

  • Идеален для:

    • Отмена действий (Ctrl+Z)

    • Обход в глубину (DFS)

    • Проверка скобок

    • Калькуляторы (обратная польская запись)

Итог: Стек = вертикальная структура, где работаем только с верхним элементом!

Печать