環形隊的基本操作(C語言)

#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;
	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章