求大神帮忙看看,这程序要怎么改
#include<stdio.h>
#include <list>
#include<malloc.h>
//#define MaxSize 100
typedef int ElemType;
typedef struct qnode
{
ElemType data[100];
struct qnode * next;
}QNode;
typedef struct
{
QNode * front;
QNode * rear;
}SqQueue;
void InitQueue(SqQueue *&q)
{
q=(SqQueue *)malloc(sizeof(SqQueue));
q->front=q->rear=NULL;
}
void number(int n)
{
int i;
ElemType e;
SqQueue q;
q.front=q.rear=0;
for(i=1;i<=n;i++)
{
q.rear=(q.rear+1)%MaxSize;
q.data[q.rear]=i;
}
printf("报数出列顺序:");
while(q.front!=q.rear)
{
q.front=(q.front+1)%MaxSize;
e=q.data[q.front];
printf("%d",e);
if(q.front!=q.rear)
{
q.front=(q.front+1)%MaxSize;
e=q.data[q.front];
q.rear=(q.rear+1)%MaxSize;
q.data[q.rear]=e;
}
}
printf("\n");
}
void main()
{
int i,n=8;
printf("初始序列:");
for(i=1;i<n;i++)
printf("%d",i);
printf("\n");
number(n);
}