九度oj 1108
来源:互联网 发布:淘宝网平板电脑价格 编辑:程序博客网 时间:2024/05/17 22:09
- 题目描述:
堆栈是一种基本的数据结构。堆栈具有两种基本操作方式,push 和 pop。Push一个值会将其压入栈顶,而 pop 则会将栈顶的值弹出。现在我们就来验证一下堆栈的使用。
- 输入:
对于每组测试数据,第一行是一个正整数 n,0<n<=10000(n=0 结束)。而后的 n 行,每行的第一个字符可能是'P’或者'O’或者'A’;如果是'P’,后面还会跟着一个整数,表示把这个数据压入堆栈;如果是'O’,表示将栈顶的值 pop 出来,如果堆栈中没有元素时,忽略本次操作;如果是'A’,表示询问当前栈顶的值,如果当时栈为空,则输出'E'。堆栈开始为空。
- 输出:
对于每组测试数据,根据其中的命令字符来处理堆栈;并对所有的'A’操作,输出当时栈顶的值,每个占据一行,如果当时栈为空,则输出'E’。当每组测试数据完成后,输出一个空行。
- 样例输入:
3AP 5A4P 3P 6O A0
- 样例输出:
E53
- 来源:
- 2011年吉林大学计算机研究生机试真题
#include<stdio.h>#include<string.h>#include<stack>#include<iostream>using namespace std; int main(){ int n; while(cin>>n) { stack<int> S; if(n==0) { break; } for(int i=0;i<n;i++) { char a; int p,k; cin>>a; if(a=='P') { cin>>p; S.push(p); } else if(a=='O') { if(!S.empty()) { S.pop(); } } else if(a=='A') { if(S.empty()==1) { cout<<"E"<<endl; continue;} k=S.top(); cout<<k<<endl; } } cout<<endl; } }
0 0
- 九度oj 1108
- 【九度OJ】:九度OJ 1050
- 【九度OJ】:九度OJ 1053
- 【九度OJ】:九度OJ 1056
- 【九度OJ】:九度OJ 1059
- 【九度OJ】:九度OJ 1206
- 九度OJ 1108 堆栈的使用
- 九度oj-1108-堆栈的使用
- 九度OJ 1108 堆栈的使用
- 九度OJ-1108-堆栈的使用
- 九度OJ:1000
- 【九度OJ】 1006
- 九度 OJ 1499
- 九度OJ-1002
- 九度OJ-1003
- 九度OJ 1004
- 九度OJ 1003
- 九度oj 采药
- C++ STL,ATL,WTL之间的联系和区别
- HD1002 A + B Problem II(大数简单的加法)
- ZOJ 1001 A + B Problem
- Web学习篇之---html基础知识(一)
- 硬件虚拟化技术浅析
- 九度oj 1108
- linux下漏洞扫描工具软件结构报告
- 关于C\C++运行时库的多线程版本的工作记录
- centos 6.6 安装图形界面 X server gnome Xwindows
- CMake生成VS2013项目失败的解决办法
- iOS 地图移动中心点获取
- 王家林亲传《DT大数据梦工厂》第三讲Tuple、Array、Map与文件操作入门实战
- 第二章 算法基础
- QT分析之网络编程(一)