1 #include<stdio.h> 2 #define Maxsize 10 3 typedef struct //定义一个循环队列 4 { 5 int data[Maxsize]; 6 int front; 7 int rear; 8 }Squeue; 9 10 void initSqueue(Squeue &qu)//初始化这个队列 11 { 12 qu.front=0; 13 qu.rear=0; 14 } 15 16 int enSqueue(Squeue &qu,int x)//入队操作 17 { 18 if(qu.front==(qu.rear+1)%Maxsize) 19 return 0; 20 qu.rear=(qu.rear+1)%Maxsize; 21 qu.data[qu.rear]=x; 22 return 1; 23 } 24 25 int deSqueue(Squeue &qu,int &x)//出队操作 26 { 27 if(qu.front==qu.rear) 28 return 0; 29 qu.front=(qu.front+1)%Maxsize; 30 x=qu.data[qu.front]; 31 return 1; 32 } 33 34 int main()//测试程序 35 { 36 Squeue qu; 37 initSqueue(qu); 38 int i=0,j=0; 39 for(i=0;i<60;i++) 40 { 41 enSqueue(qu,i); 42 deSqueue(qu,j); 43 printf("%d\n",j); 44 } 45 return 0; 46 }