#include<iostream>
#define MAXSIZE 10
#define error 0
#define OK 1
using namespace std;
typedef int Elemtype;
typedef struct QNode/*定义节点*/
{
Elemtype data;
struct QNode *next;
}QNode,*QueuePtr;
typedef struct /*定义队列*/
{
QueuePtr front;
QueuePtr rear;
}LinkQueue;
int initqueue(LinkQueue &Q)/*初始化队列*/
{
Q.rear=Q.front=new QNode;
if(!Q.front) cout<<"error"<<endl;
return error;
Q.front->next=NULL;
return OK;
}
int EnQueue(LinkQueue &Q,int e)/*入列*/
{
if(Q.front==NULL)
return error;
QNode *p;
p=new QNode;
p->data=e;
p->next=NULL;
Q.rear->next=p;
Q.rear=p;
return OK;
}
int OutQueue(LinkQueue &Q,int e)/*出列*/
{
if(Q.front==Q.rear)return error;
e=Q.front->data;
Q.front=Q.front->next;
return e;
}
int main()
{
int a,b,i;
LinkQueue q;
initqueue(q);
for(i=1;i<=MAXSIZE;i++)
{
cin>>a;
EnQueue(q,a);
}
for(i=1;i<=MAXSIZE;i++)
cout<<OutQueue(q,b)<<endl;
}