85 lines
1.5 KiB
C
85 lines
1.5 KiB
C
/*
|
||
*@文件: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;i<Q->rear-Q->front;i++){
|
||
printf("%d",Q->data[i+Q->front+1]);
|
||
printf(",");
|
||
}
|
||
printf("\n");
|
||
} |