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 举报,一经查实,本站将立刻删除。