#include
using namespace std;
//自定义整数栈类(用动态数组实现)
......
//输出栈的所有元素
void showStack(Stack &s) {
int x;
for (int i=0;i<=s.getMaxTop();i++) {
//获得栈(顶)元素并存入x中
if (_____________)
cout<<x<<' ';
else
cout<<"Stack is empty.\n";
//删除栈(顶)元素并存入x中
if (_____________)
cout<
else
cout
}
}
int main() {
int i,n,x;
cin>>n;
//定义一个栈最多可以存放n个元素
______________________________;
for (i=0;i<=s.getMaxTop();i++) {
cin>>x;
//元素x压入栈(顶)
if (!________________) {
cout<<"Stack is full.\n";
}
}
cout<<endl;
//用默认长度构造2个整数栈s1和s2
_______________________________;
s2=s1=s; //使用赋值运算
//用栈s2构造s3(会调用拷贝构造函数)
Stack s3(s2);
showStack(s); cout<<endl;
showStack(s1); cout<<endl;
showStack(s3); cout<<endl;
//s2.showStatus();
return 0;
}
输入
第1行:正整数n(栈的大小) 第2~m行:n个将入栈的整数和1个额外用于测试的整数(空格分开)
输出
2+3*(n+3)行,其中: 第1行:Stack is full. 第2行:空行 接下去的n:每行2个相同的用空格分开的整数(返回栈顶元素、返回并删除栈顶元素) 输出2行的Stack is empty. 第n+4行:空行 接下去的2个n+3行都和前面的n+3行一样。
输入样例 1
15
12 80 78 62 63 89 5 9
88 23 91 6 33 54 30 9999
输出样例 1
Stack is full.
30 30
54 54
33 33
6 6
91 91
23 23
88 88
9 9
5 5
89 89
63 63
62 62
78 78
80 80
12 12
Stack is empty.
Stack is empty.
30 30
54 54
33 33
6 6
91 91
23 23
88 88
9 9
5 5
89 89
63 63
62 62
78 78
80 80
12 12
Stack is empty.
Stack is empty.
30 30
54 54
33 33
6 6
91 91
23 23
88 88
9 9
5 5
89 89
63 63
62 62
78 78
80 80
12 12
Stack is empty.
Stack is empty.