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”
浙公网安备 33010602011771号