P1029 栈的基础操作
题目描述
现在给你一个栈,它一开始是空的,你需要模拟栈的操作。栈的操作包括如下:
- “push x”:将元素 x 放入栈中,其中x是一个int范围内的整数;
- “pop”,将栈顶元素取出来,如果此时栈是空的,那么我们不进行任何操作;
- “top”,输出栈顶元素对应的值,如果此时栈是空的,那么我们需要输出一个字符串“empty”;
- “size”,输出当前栈中元素的个数。
输入格式
第一行一个正整数 n (1≤n≤100000),用于表示操作的数量。
接下来 n 行,每行可能是如下结构:
- “push x”:将元素 x 放入栈中,其中x是一个int范围内的整数;
- “pop”,将栈顶元素取出来,如果此时栈是空的,那么我们不进行任何操作;
- “top”,输出栈顶元素对应的值,如果此时栈是空的,那么我们需要输出一个字符串“empty”;
- “size”,输出当前栈中元素的个数。
输出格式
你需要判断每一行输入,并执行对应的操作。
样例输入
9
push 3
push 5
top
size
pop
pop
pop
top
size
样例输出
5
2
empty
0
样例解释
step.1: 将3 push 入栈,此时栈中元素(从顶到底)为:[ 3 ]
step.2: 将5 push 入栈,此时栈中元素(从顶到底)为:[ 5, 3 ]
step.3: 输出栈顶元素,此时栈顶元素为5,所以输出“5”
step.4: 输出栈中元素个数,此时栈中元素个数为2,所以输出“2”
step.5: 将栈顶元素出栈,栈顶元素5出栈后,栈中元素(从顶到底)为:[ 3 ]
step.6: 将栈顶元素出栈,栈顶元素3出栈后,栈中元素(从顶到底)为:[ ] , 是一个空栈了
step.7: 将栈顶元素出栈,按时因为这个时候栈已经空了,所以我们什么操作都不做
step.8: 输出栈顶元素,此时栈为空,所以输出“empty”
step.9: 输出栈中元素个数,此时栈中元素个数为0,所以输出“0”
P1029 栈的基础操作的更多相关文章
- python基础操作以及hdfs操作
目录 前言 基础操作 hdfs操作 总结 一.前言 作为一个全栈工程师,必须要熟练掌握各种语言...HelloWorld.最近就被"逼着"走向了python开发之路, ...
- 原创】Java并发编程系列2:线程概念与基础操作
[原创]Java并发编程系列2:线程概念与基础操作 伟大的理想只有经过忘我的斗争和牺牲才能胜利实现. 本篇为[Dali王的技术博客]Java并发编程系列第二篇,讲讲有关线程的那些事儿.主要内容是如下这 ...
- MYSQL基础操作
MYSQL基础操作 [TOC] 1.基本定义 1.1.关系型数据库系统 关系型数据库系统是建立在关系模型上的数据库系统 什么是关系模型呢? 1.数据结构可以规定,同类数据结构一致,就是一个二维的表格 ...
- 【Learning Python】【第二章】Python基础类型和基础操作
基础类型: 整型: py 3.0解决了整数溢出的问题,意味着整型不必考虑32位,64位,有无符号等问题,你写一个1亿亿亿,就是1亿亿亿,不会溢出 a = 10 ** 240 print(a) 执行以上 ...
- Emacs学习心得之 基础操作
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Emacs学习心得之 基础操作 1.前言与学习计划2.Emacs基础操作 一. 前言与学习计 ...
- Git基础操作
配置秘钥 1.检查本机有没有秘钥 检查~/.ssh看看是否有名为d_rsa.pub和id_dsa.pub的2个文件. $ ~/.sshbash: /c/Users/lenovo/.ssh: Is a ...
- activiti基础操作
package activitiTest; import java.io.InputStream; import java.util.List; import java.util.zip.ZipInp ...
- 《Genesis-3D开源游戏引擎-官方录制系列视频教程:基础操作篇》
注:本系列教程仅针对引擎编辑器:v1.2.2及以下版本 G3D基础操作 第一课<G3D编辑器初探> G3D编辑器介绍,依托于一个复杂场景,讲解了场景视图及其基本操作,属性面板和工具栏的 ...
- 《深入Java虚拟机学习笔记》- 第10章 栈和局部变量操作
Java栈和局部变量操作 Java虚拟机是基于栈的机器,几乎所有Java虚拟机的指令都与操作数栈相关.栈操作包括把常量压入操作数栈.执行通用的栈操作.在操作数栈和局部变量之间往返传输值. 1常量入栈操 ...
随机推荐
- DOM查找元素的方法总结
按HTML查找:优点:范围可大可小,可设置条件:包括五种方式:1.按id查找:2.按标签名查找:var elems = parent.getElementsByTagName('');3.按name属 ...
- 【Java-加密算法】对称加密、非对称加密、单向散列(转)
一提到加密,就会联想到数字签名,这两个经常被混淆的概念到底是什么呢? 加密:加密是一种以密码方式发送信息的方法.只有拥有正确密钥的人才能解开这个信息的密码.对于其他人来说,这个信息看起来就像是一系列随 ...
- Directx11教程(47) alpha blend(4)-雾的实现
原文:Directx11教程(47) alpha blend(4)-雾的实现 除了用来实现透明效果之外,我们还可以用alpha blend来实现雾(fog)的效果.通过逐渐清晰的雾气效果,可 ...
- JDK源码解析string之二
(28) public boolean startsWith(String prefix, int toffset) { char ta[] = value; int to = toffset; ch ...
- 【JZOJ4868】【NOIP2016提高A组集训第9场11.7】Simple
题目描述 数据范围 解法 在暴力枚举的基础上,当n的系数在[0,m/gcd(n,m))时,得到的c是不重复不遗漏的. 设n的系数为x,m的系数为y. 不重复不遗漏性 设x=m/gcd(n,m)+i,那 ...
- php7 新内容
1.use增强 以thinkphp5.0为例 namespace app\home\controller;use think\{Loader,Controller,Captcha,Request}; ...
- python 文本文件的读取
- CAD专用卸载修复工具,一键完全彻底卸载删除CAD软件的专用卸载工具
Autodesk CAD卸载工具(AUTO Uninstaller)是专门为了针对Autodesk CAD软件卸载不干净而导致CAD安装失败问题进行研发的Autodesk CAD一键卸载工具.现在虽然 ...
- MapReduce数据流-概述
- 03寻找最小的k个数
题目描述:查找最小的k个元素 题目:输入n个整数,输出其中最小的k个. 例如输入1,2,3,4,5,6,7和8这8个数字,则最小的4个数字为1,2,3和4. 1:最简单 ...