记录编号 460748 评测结果 AAAAAAAAAA
题目名称 队列基本操作 最终得分 100
用户昵称 Gravatarxzcxzc11 是否通过 通过
代码语言 C++ 运行时间 0.000 s
提交时间 2017-10-18 10:13:17 内存使用 0.00 MiB
显示代码纯文本
#include <fstream>
#include <queue>
#include <algorithm>
#include <vector>

using namespace std;

ifstream fin("queue.in");
ofstream fout("queue.out");

class my_queue
{
	int cnt;
	queue<int> Q;
	static const int max=10;
public:
	void clear()
	{
		queue<int> q2;
		swap(Q,q2);
		cnt=0;
	}
	my_queue()
	{
		clear();
	}
	void push(int x)
	{
		if(cnt>=10)
		{
			fout<<"queue out"<<endl;
			return;
		}
		Q.push(x);
		++cnt;
	}
	void pop()
	{
		if(cnt<1)
		{
			fout<<"queue empty"<<endl;
			return;
		}
		Q.pop();
		--cnt;
	}
	void display()
	{
		fout<<cnt<<endl;
		if(cnt)
		{
			int temp;
			for (int i=0;i<cnt;++i)
			{
				temp=Q.front();
				Q.pop();
				fout<<temp<<" ";
				Q.push(temp);
			}
		}
	}
};

int main()
{
	my_queue Q;
	int n;
	fin>>n;
	int op;
	int num;
	for (int i=0;i<n;++i)
	{
		fin>>op;
		switch(op)
		{
			case 1:
				Q.clear();
				break;
			case 2:
				fin>>num;
				Q.push(num);
				break;
			case 3:
				Q.pop();
				break;
			case 4:
				Q.display();
				break;
			default:
				fout<<"operator error"<<endl;
		
		}
	}
	return 0;
}