记录编号 52359 评测结果 AAAAAA
题目名称 队列基本操作 最终得分 100
用户昵称 Gravatarcstdio 是否通过 通过
代码语言 C++ 运行时间 0.001 s
提交时间 2013-02-03 13:26:55 内存使用 0.31 MiB
显示代码纯文本
#include<iostream>
#include<fstream>
#include<iomanip>
using namespace std;
ifstream fin("queue.in");
ofstream fout("queue.out");
const int QueueSize=10;
int front,rear,data[QueueSize]={0};
int num=0;
void push(int x){
	if(num==QueueSize){
		fout<<"queue out"<<endl;
		return;
	}
	rear=(rear+1)%QueueSize;
	data[rear]=x;
	num++;
 }
void pop(void){
	if(num==0) fout<<"queue empty"<<endl;
	else{
		data[front]=0;
		front=(front+1)%QueueSize; 
		num--;
	}
}
void make_empty(void){
	for(int i=0;i<QueueSize;i++){
		data[i]=0;
	}
	front=0;
	rear=-1;
	num=0;
}
void queue_out(void){
	int i=front;
	fout<<num<<endl;
	int sum=num;
	while(sum>0){
		fout<<data[i]<<" ";
		i=(i+1)%QueueSize;
		sum--;
	};
	fout<<endl;
}
int main(){
	int n,i,temp,jump;
	front=0,rear=-1;
	fin>>n;
	for(i=1;i<=n;i++){
		fin>>temp;
		switch(temp){
			case 1:make_empty();break;
			case 2:fin>>jump,push(jump);break;
			case 3:pop();break;
			case 4:queue_out();break;
		}
	}
	fin.close();
	fout.close();
	return 0;
}