queue.c

来自「昨天上传的有点问题」· C语言 代码 · 共 52 行

C
52
字号
#include "queue.h"


void InitQueue(CirQueue *Q)
{
   Q->front=Q->rear=0;
   Q->count = 0;
}
/*    判断队空     */
int QueueEmpty(CirQueue *Q)
{
   return Q->count == 0;  /*队列无元素为空*/
}

/*  判断队满*/
int QueueFull(CirQueue *Q)
{  
   return Q->count == QueueSize;
}

/*  入队   */
int EnQueue(CirQueue *Q,QueueDataType x)
{
   if (QueueFull(Q))
   return  0;       //队列满
   Q->count ++;
   Q->data[Q->rear] = x;
   Q->rear = (Q->rear+1)%QueueSize;  /*循环意义下尾指针加1*/
   return 1;
}

/* 出队 */
QueueDataType DeQueue(CirQueue *Q)
{
   QueueDataType temp;
   if (QueueEmpty(Q))
   return 0;        //队列空
   temp = Q->data[Q->front];
   Q->count --;
   Q->front=(Q->front+1)%QueueSize; /*循环意义下头指针加1*/\
   return temp;
}

/*取队头元素*/
QueueDataType QueueFront(CirQueue *Q)
{
if(QueueEmpty(Q))
return 0;
return Q->data[Q->front];
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?