知识铺垫
相信大家都会 STL 的栈了吧。
先来介绍一下 STL 的栈。
栈(stack)是一个先进后出的数据结构,可以使用如下方法定义:
stack<数据类型> 栈名
栈主要有如下几个函数:
push(x)入栈pop()出栈top()获取栈顶元素size()获取元素数量empty()是否为空
其中,在使用第 2、3 个函数前一定要判定是否为空。
思路
- 对于操作
push,直接push(x)即可。 - 对于操作
query,先判断是否为空,为空输出Anguei!,否则使用top()获取栈顶元素并输出。 - 对于操作
pop,先判断是否为空,为空输出Empty,否则使用pop()弹出栈顶元素。 - 对于操作
size,直接使用size()获取大小并输出。
代码
大部分人都只看这个
#include<bits/stdc++.h>
#define int long long
#define endl '\n'
using namespace std;
stack<int> p;
signed main(){
int n;
cin>>n;
while(n--){
string s;
int x;
cin>>s;
if(s=="push"){
cin>>x;
p.push(x);
}
if(s=="pop"){
if(!p.empty()) p.pop();
else cout<<"Empty"<<endl;
}
if(s=="query"){
if(!p.empty()) cout<<p.top()<<endl;
else cout<<"Anguei!"<<endl;
}
if(s=="size") cout<<p.size()<<endl;
}
return 0;
}
暂无评论