· · 个人记录

引入

栈是 OI 中常用的线性数据结构。

栈的操作是按照后进先出的原则进行的,因此,栈通常被称为后进先出(last in first out)表,简称 LIFO 表。

实现

数组模拟栈

int st[N];
st[++st] = var1;
int u = st[*st];
if (*st)
    --*st;
*st = 0;

C++ STL

C++ 的 STL 提供了一个容器 stack ,使用前需引入 stack 头文件。

用法

stack<int> q;  //创建一个类型为 int 的栈

q.top();  //返回栈顶数据

q.push()  //插入传入的参数到栈顶
q.pop()  //弹出栈顶

q.empty()  //返回是否为空
q.size()  //返回元素数量

其他用法

q1 = q2;  //将 q2 栈赋值给 q1 栈

题目

洛谷 B3614【模版】栈