题目名称 1547. 栈的基本操作
输入输出 basestack.in/out
难度等级
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 10
题目来源 Gravatarsyzhaoss 于2014-03-17加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:10, 提交:53, 通过率:18.87%
Gravatar王棋 100 0.000 s 0.00 MiB C++
Gravatar 100 0.000 s 0.00 MiB C++
Gravatar胡皓博 100 0.000 s 0.00 MiB C++
Gravatar超人 100 0.000 s 0.00 MiB C++
GravatarGS53 100 0.000 s 0.00 MiB C++
GravatarHeHHy 100 0.000 s 0.00 MiB C++
GravatarLixj 100 0.000 s 0.00 MiB C++
Gravatardustsans 100 0.000 s 0.00 MiB C++
Gravatar花火 100 0.000 s 0.00 MiB C++
Gravatar孙翙轩 100 0.033 s 3.38 MiB C++
关于 栈的基本操作 的近10条评论(全部评论)
回复 @zjmfrank2012 :
闷声作大死……
GravatarBokjan
2014-06-17 16:42 2楼
闷声做大死。。。
Gravatarzjmfrank2012
2014-03-17 23:22 1楼

1547. 栈的基本操作

★   输入文件:basestack.in   输出文件:basestack.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

请设计一个程序模拟栈,具备压栈、出栈、置栈为空、输出栈内数据的功能。(设定栈最多存放10个元素)

【输入格式】

输入由若干行组成。

第一行有一个整数$n(1\leq n\leq 100)$,表示对栈进行操作的次数。

接下来有$n$行,每行有若干个整数,表示栈的操作。第一个整数代表操作的类型:1表示置栈为空操作,2表示入栈操作,3表示出栈操作、4表示输出堆栈信息。

对于置栈为空操作:无论栈中有无元素,有多少元素,都将堆栈置为空。

对于入栈操作:该行第二个整数表示入栈数据,如果堆栈已满,显示stack out

对于出栈操作:正常删除栈顶元素,如果堆栈中已无任何元素,显示stack empty

对于输出操作:第一行输出堆栈中元素个数,第二行按从栈底到栈顶的顺序输出栈内所有元素.

【输出格式】

根据不同的操作,输出不同的操作信息。

入栈、出栈和置栈为空操作如无操作错误(栈溢出等),无输出信息。

输出操作:第一行输出堆栈中元素个数,第二行按从栈底到栈顶的顺序输出栈内所有元素。

【样例1输入】

6
1
2 78
2 88
2 99
3
4

【样例1输出】

2
78 88

【样例2输入】

20
2 4
2 30
2 64
2 44
2 34
2 12
2 89
2 88
2 49
2 60
2 79
3
4
1
3
2 10
4
3
4
3

【样例2输出】

stack out
9
4 30 64 44 34 12 89 88 49
stack empty
1
10
0

stack empty