1 #include<stdlib.h>
2
3 #define SIZE 10
4 typedef char ele;
5
6 typedef struct{
7 ele *e;
8 int front;
9 int rear;
10 }cycleQueue;
11
12
13 //initQueue
14 void initQueue(cycleQueue *q){
15 q = (cycleQueue *)malloc(sizeof(cycleQueue));
16 q->e = (ele *)malloc(SIZE*sizeof(ele));
17 q->front=q->rear=0;
18 }
19
20 //insertQueue
21 void insertQueue(cycleQueue *q,ele e){
22 if(q->front==(q->rear+1)%SIZE)return;
23 q->e[q->rear]=e;
24 q->rear=(q->rear+1)%SIZE;
25 }
26
27 //popQueue
28 ele popQueue(cycleQueue *q){
29 if(q->front==q->rear)return NULL;
30 ele e = q->e[q->front];
31 q->front=(q->front+1)%SIZE;
32 return e;
33 }