AcWing 828. 模拟栈
原题链接
简单
作者:
落花已作风前舞
,
2024-04-26 20:37:54
,
所有人可见
,
阅读 2
#include <iostream>
using namespace std;
int const N = 1e5 + 10;
int stk[N], tt = -1; // 栈顶指针初始化为-1;
int main ()
{
int m, x;
cin >> m;
while (m --)
{
string op;
cin >> op;
if (op == "push")
{
cin >> x;
stk[++tt] = x; // 栈顶指针先向上走一格,指向第一个空结点,再把x放进去
}
else if (op == "pop")
{
tt --; // 弹出一个元素,指针指向下一个栈内元素
}
else if (op == "empty")
{
if (tt == -1) cout << "YES" << endl;
else cout << "NO" << endl;
}
else if (op == "query") cout << stk[tt] << endl; // 栈顶指针始终指向栈顶第一个元素
}
return 0;
}