AcWing 828. 模拟栈
原题链接
简单
作者:
minux
,
2020-04-22 19:23:36
,
所有人可见
,
阅读 472
#include <bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int top;
int m;
int st[N];
// 初始化
void init(){
memset(st, 0x00, sizeof st);
top=-1;
}
// 判空
bool _empty(){
return top==-1;
}
string empty(){
if(_empty()) return "YES";
return "NO";
}
// 压栈
void push(int e){
++top;
st[top]=e;
}
// 出栈
void pop(){
if(!_empty()){
--top;
}
}
// 查询栈顶
int query(){
if(!_empty()){
return st[top];
}
return -1;
}
int main(){
init();
cin>>m;
string P;
int e;
while(m--){
cin>>P;
if(P=="push"){
cin>>e;
push(e);
}
else if(P=="pop"){
pop();
}
else if(P=="query"){
cout<<query()<<endl;
}
else if(P=="empty"){
cout<<empty()<<endl;
}
}
return 0;
}