define QUEUE 40 /*队列的最大长度*/
struct Queue
{
int queue[QUEUE];
int Rear; // Rear记录队列尾
};
/*初始化操作*/
void InitQueue(Queue *Q)
{
Q->rear=0;
count=0;/*计数器count用来记录队列中节点的个数*/
}
/*入队操作*/
int EnQueue(Queue *Q,QueueElementType x)
{
if(count==QUEUE)/*队列上溢*/
{return FALSE;}
count++;
rear = (rear+1)%QUEUE;
Q->queue[rear]=x;
return TRUE;
}
/*出队操作*/
int DelQueue(Queue *Q,QueueElementType *x)
{
int temp;
if(count==0)/*队空*/
{return FALSE;}
temp =(rear-count+QUEUE)%QUEUE +1;/*计算出队的下标指针*/
(*x)=Q->queue[temp];
count--;
return TRUE;
}
数据结构(C语言)-03-栈和队列-对仅含有队尾的循环队列进行初始化、入队、出队操作
最新推荐文章于 2022-10-25 20:43:58 发布