【队列】银行取款

Description
在现代文明社会中,大家在诸如银行办理业务、车站买票等活动时都很文明,没有插队的现象,本着“先来先服务”的规矩。
五一马上到了,凡凡的爸爸打算上银行去取点钱,带着一向表现很好的凡凡同学到海南旅游,凡凡的爸爸到银行时发现很多人在办理业务,凡凡的爸爸就自觉地在排队机上去了一个业务号码,并焦急的等待着银行柜台叫自己的号码......

Input
输入中包含I(表示等待办理业务)和顾客的序号;
或者 O(表示办理完业务的人离开);
输入数据不超过100行。

Output
输出银行排队中出队顾客序列,若队列为空(没人等待),则输出“None”
Sample Input
O
I 1
I 2
O 
I 3
O
O
O
Sample Output
None
1
2
3
None

正解:

#include <iostream>
#include <queue>

using namespace std;

int main()
{
	queue<int> q;
	char c;
	int i;
	
	while (cin >> c)
	{
		if (c == 'I')
		{
			cin >> i;
			q.push(i);
		}
		else if (c == 'O')
		{
			if (q.empty())
			{
				cout << "None" << endl;
			}
			else
			{
				cout << q.front() << endl;
				q.pop();
			}
		}
	}
	return 0;
}

 
 

猜你喜欢

转载自blog.csdn.net/drtlstf/article/details/80258764