栈的定义
栈是一种后进先出(last in first out)的线性数据结构,它只允许在一端(栈顶)进行插入和删除操作。即栈的两种基本操作:
- 入栈(push):将一个元素放入栈顶。
- 出栈(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(); // 清空栈