#include<cstdio>
#include<iostream>
using namespace std;
//栈 先进后出
int stack[100010];
int top;
//初始化
void init()
{
top=0;
}
//1向栈顶插入元素
void push(int x)
{
stack[++top]=x;
}
//2从栈顶弹出一个数
void pop()
{
stack[--top];
}
//3判断为空
void empty()
{
if(top>0)
{
printf("NO\n");//YES 或 NO
}
else
printf("YES\n");//YES 或 NO
}
//4取出栈顶元素
int query()
{
return stack[top];
}
int main()
{
int m;
cin>>m;
while(m--)
{
string c;
cin>>c;
int x;
if(c=="push"){
cin>>x;
push(x);
}
else if(c=="pop")
{
pop();
}
else if(c=="empty"){
empty();
}
else
{
int result=query();
cout<<result<<endl;
}
}
}
链接:https://www.acwing.com/solution/content/189155/
来源:AcWing
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
5.18 Acwing 828 模拟栈
最新推荐文章于 2024-05-23 17:21:42 发布