九度教程第28题-堆栈的的使用

题目:

题目描述:

堆栈是一种基本的数据结构。堆栈具有两种基本操作方式,push 和 pop。Push一个值会将其压入栈顶,而 pop 则会将栈顶的值弹出。现在我们就来验证一下堆栈的使用。

输入:

对于每组测试数据,第一行是一个正整数 n,0<n<=10000(n=0 结束)。而后的 n 行,每行的第一个字符可能是'P’或者'O’或者'A’;如果是'P’,后面还会跟着一个整数,表示把这个数据压入堆栈;如果是'O’,表示将栈顶的值 pop 出来,如果堆栈中没有元素时,忽略本次操作;如果是'A’,表示询问当前栈顶的值,如果当时栈为空,则输出'E'。堆栈开始为空。

输出:

对于每组测试数据,根据其中的命令字符来处理堆栈;并对所有的'A’操作,输出当时栈顶的值,每个占据一行,如果当时栈为空,则输出'E’。当每组测试数据完成后,输出一个空行。

样例输入:

3

A

P 5

A

4

P 3

P 6

O

A

0

样例输出:

E

5

3

代码:

#include<stdio.h>
#include<stack>
using namespace std;stack<int> st; //定义一个堆栈
char a[2];int main()
{int n;int data; //存放压入栈中的数据while(scanf("%d",&n)!=EOF){if(n==0) break;for(int i=0;i<n;i++){scanf("%s",a);switch(a[0]){case 'P':scanf("%d",&data); st.push(data);//P——压入堆栈break;case 'O':if(st.empty()==false)           //O——将栈顶的值pop出来,若栈为空,忽略此次操作{st.pop();}break;case 'A':                              //A——询问栈顶的值,如果当前栈为空,输出Eif(!st.empty()){data=st.top();printf("%d\n",data);}else{printf("E\n");}break;default:break;}}printf("\n");}return 0;
}

九度教程第28题-堆栈的的使用(栈的使用)相关推荐

  1. Piggy-Bank - 九度教程第 102 题

    Piggy-Bank - 九度教程第 102 题 题目 时间限制:1 秒 内存限制:32 兆 特殊判题:否 题目描述: Before ACM can do anything, a budget mus ...

  2. 质因数的个数 - 九度教程第54题

    质因数的个数 - 九度教程第54题 题目 时间限制:1 秒 内存限制:32 兆 特殊判题:否 题目描述: 求正整数 N(N>1)的质因数的个数. 相同的质因数需要重复计算.如 120=22235 ...

  3. 不容易系列之一(九度教程第 94 题)

    不容易系列之一(九度教程第 94 题) 时间限制:1 秒 内存限制:128 兆 特殊判题:否 1.题目描述: 大家常常感慨,要做好一件事情真的不容易,确实,失败比成功容易多了!做好"一件&q ...

  4. Excel排序 九度教程第4题

    题目链接 题目描述: Excel可以对一组纪录按任意指定列排序.现请你编写程序实现类似功能. 对每个测试用例,首先输出1行"Case i:",其中 i 是测试用例的编号(从1开始) ...

  5. 数制转换 九度教程第44题 a进制数转换为b进制数 不同进制之间相互转换

    题目链接 解题思路: 1.将a进制数转换成十进制数: 2.将十进制数转换成b进制数: 3.使用do while 循环,可以确保即使被转换数字是 0 ,程序也能正常工作. AC代码: #include& ...

  6. 成绩排序 九度教程c语言,九度OJ 1089 数字反转

    题目分析: 使用队列存放每一位的数字,然后输出并计算得到反转数值,从而实现数字反转. 源代码: [cpp] #include #include using namespace std; int mai ...

  7. 九度oj 第1题 二维数组中的查找 何海涛:《剑指Offer:名企面试官精讲典型编程题》

    一.题目信息 题目描述: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 输入: ...

  8. 动态规划 背包问题小结 0-1背包(采药 九度第101题) 完全背包(Piggy-Bank POJ 1384) 多重背包(珍惜现在,感恩生活 九度第103题)

    本小结介绍0-1背包.完全背包以及多重背包问题 记忆要点: 0-1背包:二维数组情况下,顺序遍历体积或者倒序均可以                降维情况下需倒序遍历体积 完全背包:数组降维+顺序遍历 ...

  9. 九度题库(所有题目整理,适合计算机考研和面试的人用)

    本来搜一道面试题,找到叫九度题库的地方,发现里面的题目都比较基础,很适合当面试题来练习. 于是,闲得蛋疼,把所有题目给爬下来了,并整理成markdown格式,然后export成pdf,方便大家离线阅读 ...

  10. Leagal or Not - 九度 OJ 1448

    Leagal or Not - 九度 OJ 1448 题目 时间限制:1 秒 内存限制:128 兆 特殊判题:否 题目描述: ACM-DIY is a large QQ group where man ...

最新文章

  1. 用 go 写 WebAssembly入门
  2. Android studio3.1卡顿严重
  3. Cocos2d-x 寻路算法解析(一): 距离优先
  4. python 操作RabbitMQ
  5. jzoj3171-[GDOI2013模拟4]重心【真·物理,二分】
  6. jpa的查询api_为JPA的本机查询API键入安全查询
  7. 12.6 static类成员
  8. python 比较文件不同,在python中逐行比较两个不同的文件
  9. Flash 插件又被曝出新漏洞,让攻击者可以控制 Mac
  10. window location href 手机端无法跳转_JavaScriptBOM__History_location(二十)
  11. 全网最全console命令解析总结
  12. 《程序员的数学》读后感
  13. Java编程输出你的年龄和姓名
  14. [电影]《指环王》新老三部曲完全赏析(王者归来)
  15. photoshop cs4 注册
  16. u盘如何安装2003服务器系统,怎么用u盘安装2003系统安装教程
  17. 红蜘蛛 v6.2.1160解除键鼠屏蔽以及实现窗口化
  18. python header函数_Header函数
  19. 山西省大同市谷歌高清卫星地图下载
  20. 并行接口8255芯片

热门文章

  1. 181026英语每日一句
  2. Atitit 技术体系路线图与金字塔模型 前端技术层次金字塔 目录 1. 原理core 框架层 》》 模块 项目层 1 1.1. 技术原理层 1 1.2. 框架层 1 1.3. 模块 1 2.
  3. Atitit 指令集(IA及指令集架构 1. 指令集(IA:InstructionSet)是指CPU指令系统所能识别(翻译)执行的全部指令的集合。 1 1.1. (1)运算指令 1 1.2. (2)
  4. Atititi ui之道 attilax著 v3 s11.docx 1. 概览 2 1.1. 软件设计可分为两个部分:编码设计与UI设计 2 2. 用户界面设计的三大原则是:置界面于用户的控制之下;
  5. Atitit 技术管理项目管理的职责列表attilax总结 v2 r74 brch4com.docx
  6. Atitit.code base view 视图的实现原理
  7. 用户 'sa' 登录失败。 连接SQL2000出现的问题。
  8. 范华专栏 | 挪威主权基金2018年报解读
  9. ETF最神秘的地带:清算交收(背景知识篇)
  10. Julia: 引用、copy与数组