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");
 | ||
| } |