抽奖活动(c++)

发布于:2022-08-05 ⋅ 阅读:(281) ⋅ 点赞:(0)

题目描述

查看题目信息

请你实现一个栈(stack),支持如下操作:

push(x):向栈中加入一个数 xx 。

pop():将栈顶弹出。如果此时栈为空,则不进行弹出操作,并输出 Empty Stack

top():输出栈顶元素。如果此时栈为空,则输出 Empty Stack

size():输出此时栈内元素个数。

输入格式

第一行,一个整数 n~(n\lt100)n (n<100) 表示操作的次数。

接下来 nn 行,每行表示一个操作。格式如下:

1,表示将元素 x~(1\le x\le 1000)x (1≤x≤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<bits/stdc++.h>
using namespace std;
int n,m,k;
stack<int> q;
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>m;
        if(m==1)
        {
            cin>>k;
            q.push(k);
        }
        if(m==2)
        {
            if(q.empty())
            {
                cout<<"Empty Stack"<<endl;
            }
            else
            {
                q.pop();
            }
        }
        if(m==3)
        {
            if(q.empty())
            {
                cout<<"Empty Stack"<<endl;
            }
            else
            {
                cout<<q.top()<<endl;
            }
        }
        if(m==4)
        {
            cout<<q.size()<<endl;
        }
    }
     return 0;
}


 

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到