首页 > 编程语言 > 详细

c++ 栈的基本应用

时间:2019-07-13 13:37:08      阅读:88      评论:0      收藏:0      [点我收藏+]

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,0,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);
    }
} 

c++ 栈的基本应用

原文:https://www.cnblogs.com/LJA001162/p/11180082.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!