#include <stdio.h>
#define M 100
typedef struct
{
int a[M];
int front,rear;
} qu;
void init(qu *q) //初始化队
{
q->rear=q->front=0;
}
int enter(qu *q,int x) //进队
{
if((q->rear+1)%M==q->front)
return 0;
else
{
q->a[q->rear]=x;
q->rear=(q->rear+1)%M;
return 1;
}
}
int delet(qu *q,int *x) //出队
{
if(q->front==q->rear)
return 0;
else
{
*x=q->a[q->front];
q->front=(q->front+1)%M;
return 1;
}
}
int getf(qu *q,int *x) //得到队首元素值
{
if(q->front==q->rear)
return 0;
else
{
*x=q->a[q->front];
return 1;
}
}
环形队的基本操作(C语言)
最新推荐文章于 2023-08-23 10:26:38 发布