顺序队列

 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 }

 

你可能感兴趣的:(队列)