Skip to content

栈的定义

栈是一种后进先出(last in first out)的线性数据结构,它只允许在一端(栈顶)进行插入和删除操作。即栈的两种基本操作:

  1. 入栈(push):将一个元素放入栈顶。
  2. 出栈(pop):将栈顶元素删除。

栈的实现

栈可以使用数组模拟:

cpp
int stk[MAX_SIZE]; // 栈数组
int top = -1; // 栈顶指针

stk[++top] = x; // 入栈
stk[top--]; // 出栈
stk[top]; // 访问栈顶元素
top == -1 // 判断栈为空

STL 中的栈:

cpp
#include <stack>
stack<int> stk;

stk.push(x); // 入栈
stk.pop(); // 出栈
stk.top(); // 访问栈顶元素
stk.empty(); // 判断栈是否为空
stk.size(); // 栈大小
stk.clear(); // 清空栈