请你实现一个栈(stack
),支持如下操作:
push(x)
:向栈中加入一个数 。
pop()
:将栈顶弹出。如果此时栈为空,则不进行弹出操作,并输出 Empty Stack
。
top()
:输出栈顶元素。如果此时栈为空,则输出 Empty Stack
。
size()
:输出此时栈内元素个数。
第一行,一个整数 (<100)表示操作的次数。
接下来 n 行,每行表示一个操作。格式如下:
1 x
:表示将元素 (1≤≤1000) 加入栈。2
:表示将栈顶弹出栈。3
:表示查询栈顶。4
:表示查询栈内元素个数。输出若干行,对于每个操作,按「题目描述」输出结果。
每条输出之间应当用空行隔开。
10
1 1
3
2
4
2
1 2
1 3
3
4
2
1
0
Empty Stack
3
2
#include
using namespace std;
stack s;
int main()
{
int n;
int x,op;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>op;
if(op==1)
{
cin>>x;
s.push(x);
}
else if(op==2)
{
if(s.empty())
{
cout<<"Empty Stack"<