#include using namespace std; #define MAXSIZE 1000 typedef int QElemType; typedef struct { QElemType *base; int front; int rear; }SqQueue; void InitQueue(SqQueue &Q) { Q.base=new QElemType[MAXSIZE]; Q.front=Q.rear=0; } void CreateSqQueue(SqQueue &Q1,SqQueue &Q2,int sum) { int a; for(int i=0;i>a; if(a%2) { Q1.base[Q1.rear]=a; Q1.rear=(Q1.rear+1)%MAXSIZE; } else { Q2.base[Q2.rear]=a; Q2.rear=(Q2.rear+1)%MAXSIZE; } } } void PrintfSqQueue(SqQueue &Q1,SqQueue &Q2,SqQueue Q3,int s) { int a=1; while((Q1.front!=Q1.rear)||(Q2.front!=Q2.rear)) { if((a==1)||(a==2)) { if(Q1.front!=Q1.rear) { Q3.base[Q3.rear]=Q1.base[Q1.front]; Q3.rear=(Q3.rear+1)%MAXSIZE; Q1.front=(Q1.front+1)%MAXSIZE; } } else { if(Q2.front!=Q2.rear) { Q3.base[Q3.rear]=Q2.base[Q2.front]; Q3.rear=(Q3.rear+1)%MAXSIZE; Q2.front=(Q2.front+1)%MAXSIZE; } } a++; if(a>3) a=1; } cout<>sum; if(sum) { CreateSqQueue(Q1,Q2,sum); PrintfSqQueue(Q1,Q2,Q3,sum); } else cout<<"0"<