c++ 队列的基本应用

时间:2021-05-12 19:17:01

c++ 队列的基本应用

题目描述

现在去营业厅办理业务,都要先取号,再等待叫号。叫号系统有两种模式:

1.取号,取号时要输入自己的11位电话号码,号码按取号的顺序存在系统中;

2.叫号,叫号时会显示当前在最前面的电话号码,并且把该号码从系统中删除。

输入

输入包括多行,每行输入一个操作:

1. 输入字母I,表示当前的操作是取号,后面跟着取号顾客的电话号码;

2. 输入字母O,表示当前的操作是叫号。

输入不超过100行。

输出

输出叫号的顺序,如果叫号的时候已无人等待,请输出“None”。

样例输入

O
I 13321456781
I 15968777742
O 
I 13957881069
O
O
O

样例输出

None
13321456781
15968777742
13957881069
None

提示

代码

#include <bits/stdc++.h>
using namespace std;
long long q[10000001];
int f,e;
char tmp[100];
int main()
{
    f = 1,e=0;
    char c;
    while(scanf("%c",&c)!=EOF)
    {
        if(c=='I')
        {
            long long x;
            cout << "输入:" << " ";
            scanf("%lld",&x);
            e++;//e是排队人数 
            q[e]=x;
        }
        else 
        {
            if(f<=e)
            {
                cout << "输出:" << " ";
                printf("%lld\n",q[f]);
                f++;//f是已经叫号的号数 
            }
            else
            {
                cout << "输出:" << " ";
                printf("None\n");
            }
        }
        gets(tmp);
    }
    return 0;
}