栈做的事,数组一定可以做。数组可以做的事,栈不一定行。
#include<iostream>
//不用string头文件也行
using namespace std;
const int N=100010;
int stk[N],tt;
int main()
{
int n,x;
cin>>n;
string op;
while(n--)
{
cin>>op;
if(op=="push")
{
cin>>x;
stk[++tt]=x;
}
else if(op=="pop")
{
tt--;//因为栈先进后出,所以去掉数组末尾的数
}
else if(op=="empty")
{
if(tt>0)//tt就是统计个数和表示下标的
cout<<"NO"<<endl;
else cout<<"YES"<<endl;
}
else //query查询
{
cout<<stk[tt]<<endl;
}
}
return 0;
}