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 }