1 #include <iostream>
2 using namespace std;
3 #define queuesize 20
4 struct squeue
5 {
6 int queue[queuesize];
7 int front,rear;
8 };
9 void initsqueue(squeue *sq)
10 {
11 sq->front=sq->rear=0; /*队头指针和队尾指针都置0*/
12 }
13 int isempty(squeue sq) /*判断队列是否为空*/
14 {
15 if(sq.front==sq.rear)
16 return 1;
17 return 0;
18 }
19 int enqueue(squeue *sq,int e)
20 {
21 if(sq->rear==queuesize) /*队列已满*/
22 return 0;
23 sq->queue[sq->rear]=e; /*入队*/
24 sq->rear++;
25 return 1;
26 }
27 int ouqueue(squeue *sq,int &e)
28 {
29 if(sq->front==sq->rear)
30 return 0;
31 e=sq->queue[sq->front];
32 sq->front++;
33 return 1;
34 }
35 int main()
36 {
37 squeue q;
38 int i,e;
39 initsqueue(&q);
40 for(i=0;i<10;i++) /*入队*/
41 enqueue(&q,i);
42 for(i=0;i<10;i++) /*出队*/
43 {
44 ouqueue(&q,e);
45 cout<<e<<" ";
46 }
47 }