当前位置: 首页 > news >正文

[保研/考研机试] KY180 堆栈的使用 吉林大学复试上机题 C++实现

题目链接:

堆栈的使用_牛客题霸_牛客网

描述

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

输入描述:

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

输出描述:

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

示例1

输入:

3
A
P 5
A
4
P 3
P 6
O
A

输出:

E
5
3

源代码:

#include<iostream>
#include<stack>
using namespace std;//习题5.1 堆栈的使用
int main()
{int n;while (cin>> n) {stack<int> myStack;for (int i = 0; i < n; i++) {char s;cin >> s;//cout << "s:" << s << " " << endl;if (s == 'P') {int temp = 0;cin >> temp;myStack.push(temp);}else if (s == 'O') {if (!myStack.empty()) {myStack.pop();}}else if (s == 'A'){if (!myStack.empty()) {cout << myStack.top() << endl;}else {cout << "E" << endl;}}}}return 0;
}

提交结果:

 

http://www.lryc.cn/news/117887.html

相关文章:

  • 【AI理论学习】手把手推导扩散模型:Diffusion Models(DDPM)
  • 智能汽车 论坛收集
  • 24届近5年南京航空航天大学自动化考研院校分析
  • Linux Day07
  • 数字化管理,让MRO工业品更高效
  • layui中渲染table表格
  • 2023-08-10LeetCode每日一题(下降路径最小和 II)
  • 网络基础2(HTTP,HTTPS,传输层协议详解)
  • Java实现籍贯级联选择器
  • 每日一学——OSI参考模型
  • 虚幻5中Lumen提供哪些功能以及如何工作的
  • Linux C 语言 mosquitto 方式 MQTT 发布消息
  • 利用NtDuplicateObject进行Dump
  • 【快应用】list组件如何区分滑动的方向?
  • 【深入了解pytorch】PyTorch扩展:如何使用PyTorch的扩展功能
  • Vue3——如何实现页面访问拦截
  • nginx配置gzip
  • ExtJS教程_编程入门自学教程_菜鸟教程-免费教程分享
  • 【el-upload】批量上传图片时在before-upload中添加弹窗判断时的踩坑记录
  • 【Java基础】- JVM之Dump文件详解
  • 基于Vue+wangeditor实现富文本编辑
  • 深入理解 Spring 中的 @RequestBody 和 @ResponseBody 注解及其区别
  • 【论文阅读】EULER:通过可扩展时间链接预测检测网络横向移动(NDSS-2022)
  • 手动创建一个DOCKER镜像
  • SSM(Vue3+ElementPlus+Axios+SSM前后端分离)--搭建Vue 前端工程[一]
  • Idea使用Docker插件实现maven打包自动构建镜像
  • Tailwind css优于Bootstrap 7个原因
  • IDEA简单拷贝一份新项目记录
  • 华为OD真题--字符串加密
  • UML-状态图