AcWing 828. 模拟栈
原题链接
简单
作者:
古傲狂生强
,
2020-08-18 09:24:16
,
所有人可见
,
阅读 405
使用数组来模拟栈操作
#include<bits/stdc++.h>
using namespace std;
const int N = 100010;
int n;
int stk[N],tt;
//栈顶插入元素
void mypush(int x)
{
stk[tt++] = x;
}
//出栈操作
int mypop()
{
int res = stk[tt];
tt--;
return res;
}
//栈空
bool myempty()
{
if(stk[tt-1]){
return false;
}else{
return true;
}
}
//查询栈顶元素
int find()
{
return stk[tt-1];
}
int main()
{
cin >> n;
while(n--)
{
string op;
int x;
cin >> op;
if(op == "push"){
cin >> x;
mypush(x);
}else if(op == "pop"){
mypop();
}else if(op == "query"){
cout << find() << endl;
}else{
if(myempty()){
cout << "YES" << endl;
}else{
cout << "NO" << endl;
}
}
}
return 0;
}