/* *@文件:queue.c *@作者:‘你遇了我’ *@time:2022/11/13 *@联系:QQ:321640253 *@描述: */ // // Created by 86186 on 2022/11/13. // #include "queue.h" /* * @简介:初始化一个空队列 * @参数:void * @返回值:初始化队列的指针 * */ void InitQuecu(SqQuecu *Q){ Q->front=Q->rear=-1; Q->size=0; } // /* // * @简介:销毁队列 // * @参数:队列指针 // * @返回值:void // * */ // void DestroyQueue(SqQuecu *Q){ // free(Q); // } /* * @简介:判断队列为空 * @参数:队列指针 * @返回值:布尔值 * */ bool QueueEmpty(SqQuecu *Q){ if(Q->size==0)return true; else return false; } /* * @简介:判断队列为满 * @参数:队列指针 * @返回值:布尔值 * */ bool QueueFull(SqQuecu *Q){ if(Q->size==Maxsize)return true; else return false; } /* * @简介:进队 * @参数:队列指针 * 进队元素 * @返回值:布尔值 * */ bool enQueue(SqQuecu *Q,quecuElemtype e){ if(QueueFull(Q))return false; if(Q->rear==Maxsize-1)Q->rear=-1; Q->rear++; Q->data[Q->rear]=e; Q->size++; return true; } quecuElemtype deQueue(SqQuecu *Q){ if(QueueEmpty(Q))return NULL; quecuElemtype e=Q->data[Q->front]; if(Q->front==Maxsize)Q->front=0; Q->front++; Q->size--; return e; } void DispQuecu(SqQuecu *Q){ int i; for(i=0;irear-Q->front;i++){ printf("%d",Q->data[i+Q->front+1]); printf(","); } printf("\n"); }