微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c++ 栈的基本应用

c++ 栈的基本应用

题目描述

小哼和小哈是一对兄妹,爸妈不在家的时候,小哼自然而然就担负起了照顾妹妹的责任。可别看小哼年纪小,他哄妹妹可有一手呢。今天,小哼就发明了一个小游戏来和小哈玩:
家里有一个长长的网球筒,还有一堆的网球,网球筒的直径很小,每次只能放进一个网球。小哼把每个网球都编了号(所有网球编号不一样),小哼有两种选择:第一种,拿一个小球放进球筒里;第二种,小哼会从球筒里拿出一个网球。而小哈要做的,就是每次小哼从球筒里拿出网球之前,凭记忆力猜出拿出来的网球编号是多少。

分享图片

输入

输入包括多行,每行描述一条操作信息:
1.输入字母’I’,后面紧跟着一个整数x(1<=x<=100),表示当前要在球筒中放入编号为x的球;
2.输入字母’O’,表示当前要从球筒里拿出一个球。

输出

输出拿出网球的顺序,每个编号占一行,如果在取球的时候,球筒中已经没有球,请输出” Empty!”。

样例输入

O
I 6
I 4
O
I 7
I 1
O
I 8
O
O
O
O

样例输出

Empty!
4
1
8
7
6
Empty!

提示

分享图片

代码

#include <bits/stdc++.h>
using namespace std;
long long q[10000000];
char tmp[10];
int f;
int main()
{
    memset(q,sizeof(q));
    char c;
    while (scanf("%c",&c) != EOF)
    {
        long long x;
        if (c == 'I')
        {
            printf("输入 : ");
            cin >> x;
            f ++;//f是栈里球的个数  
            q[f] = x;
        }
        else
        {
            if (f != 0)
            {
                printf("输出 : ");
                printf("%lld\n",q[f]);
                f --;//拿出最后放入的那个球 
            }
            else
            {
                printf("输出 : ");
                printf("Empty!\n");
            }
        }
        gets(tmp);
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐