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 }