代码
#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 5
typedef struct SqQueen{
int data[MAXSIZE];
int front;
int rear;
}SqQueen;
void printSqQueen(SqQueen Q){
int i=Q.front;
while(Q.front != Q.rear){
printf("%3d",Q.data[Q.front]);
Q.front = (Q.front+1)%MAXSIZE ;
}
printf("\n");
}
int sqLength(SqQueen Q){
return (Q.rear-Q.front+MAXSIZE)%MAXSIZE;
}
void initSqQueen(SqQueen *Q){
Q->front = 0;
Q->rear = 0;
}
void inSqQueen(SqQueen *Q,int e){
if((Q->rear+1)%MAXSIZE == Q->front){
printf("队列已满!\n");
exit(-1);
}
Q->data[Q->rear] = e;
Q->rear = (Q->rear+1)%MAXSIZE;
printf("入队:%d\n",e);
}
void outSqQueen(SqQueen *Q){
if(Q->front == Q->rear){
printf("队列已空!\n");
exit(-1);
}
printf("出队:%3d\n",Q->data[Q->front]);
Q->front = (Q->front+1)%MAXSIZE;
}
int main(){
SqQueen Q;
initSqQueen(&Q);
inSqQueen(&Q,3);
inSqQueen(&Q,5);
inSqQueen(&Q,8);
printSqQueen(Q);
outSqQueen(&Q);
printSqQueen(Q);
outSqQueen(&Q);
outSqQueen(&Q);
outSqQueen(&Q);
printSqQueen(Q);
printf("Hello world !\n");
return 0;
}
执行结果
