解题思路:
注意事项:p.pop();//出栈不输出
cout<<p.top();//输出不出栈
p.push(x);//将x输入p的栈顶
参考代码:
#include<bits/stdc++.h>
using namespace std;
int a[10005];
int main()
{
int n,x;
char ch;
while(cin>>n)//多组数据
{
stack<int>p;//栈
while(n--)
{
cin>>ch;
if(ch=='P')
{
cin>>x;
p.push(x);//入栈
}
if(ch=='O')
{
if(!p.empty())//非空
{
p.pop();//出栈
}
}
if(ch=='A')
{
if(!p.empty()) cout<<p.top()<<endl;
//p.top()表示栈顶,但是cout<<p.top()输出栈顶元素但是栈顶还是原来的元素,
//p.pop()表示出栈,但是不输出
else cout<<"E"<<endl;
}
}
cout<<endl;
}
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复