//Queue.h#ifndef _QUEUE_H_struct QueueRecord;typedef struct QueueRecord *Queue;#define ElementType intstruct QueueRecord{ int Capacity; int Front; int Rear; int Size; ElementType *Array;};Queue CreateQueue(int MaxElements);int IsEmpty(Queue Q);int IsFull(Queue Q);void MakeEmpty(Queue Q);int Succ_Rear(int Value,Queue Q);void Enqueue(ElementType X, Queue Q);ElementType Front(Queue Q);ElementType FrontandDequeue(Queue Q);void DisposeQueue(Queue Q);void PrintQueue(Queue Q);#endif%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%//Queue.c #include#include "Queue.h"#include Queue CreateQueue(int MaxElements){ Queue Q; Q=malloc(sizeof(struct QueueRecord)); if(Q==NULL) { printf("Out of space!\n"); } Q->Array=malloc(sizeof(ElementType)*MaxElements); Q->Capacity=MaxElements; if(Q->Array==NULL) { printf("Out of space!\n"); } MakeEmpty(Q); return Q;}int IsEmpty(Queue Q){ return Q->Size==0;}int IsFull(Queue Q){ return Q->Size==Q->Capacity;}void MakeEmpty(Queue Q){ Q->Size=0; Q->Front=1; Q->Rear=0;}int Succ_Rear(int Value,Queue Q){ if((Value++)==Q->Capacity-1) { Value=0; } return Value;}void Enqueue(ElementType X, Queue Q){ if(IsFull(Q)) { printf("Out of space!\n"); } else { Q->Size++; Q->Rear=Succ_Rear((Q->Rear),Q); printf("Rear的值 %d\n",Q->Rear); Q->Array[Q->Rear]=X; }}ElementType Front(Queue Q){ if(!IsEmpty(Q)) { return Q->Array[Q->Front]; } printf("Empty queue!\n"); return 0;}ElementType FrontandDequeue(Queue Q){ ElementType temp=0; if(!IsEmpty(Q)) { Q->Size--; temp=Q->Array[Q->Front]; Q->Front--; return temp; } else { printf("Empty queue!\n"); return 0; }}void DisposeQueue(Queue Q){ if(IsEmpty(Q)) { printf("Out of space!\n"); } else { Q->Size--; Q->Front++; }} void PrintQueue(Queue Q){ int j,n; j=Q->Front; n=0; while(n!=Q->Size) { if((j/(Q->Capacity-1))==1) { printf("%d",Q->Array[(j%(Q->Capacity))]); n++; j++; } else { printf("%d",Q->Array[j]); n++; j++; } } }%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%//main.c #include #include "Queue.h"int main(void){ Queue Q; Q=CreateQueue(10); int i; printf("请输入整数加入队列:\n"); int m; scanf("%d",&m); while(m!=99) { Enqueue(m,Q); printf(" 队列中: %d\n",Q->Array[Q->Rear]); printf("请输入整数加入队列:\n"); scanf("%d",&m); } PrintQueue(Q); return 0;}