#include<stdio.h>
#include<stdlib.h>
#define MAX 10
typedef struct
{
int data[MAX];
int front;
int rear;
}rqueue;
void create_queue(rqueue *q)
{
q->front=q->rear=0;
}
int empty_queue(rqueue *q)
{
if(q->front==q->rear) return 1;
return 0;
}
void dequeue(rqueue *q,int elem)
{
q->rear=(q->rear+1)%MAX;
q->data[q->rear]=elem;
}
int dis_queue(rqueue *q)
{
if(empty_queue(q))
{
printf("the queue is empty");
return 0;
}
printf("%d ",q->data[q->front]);
q->front=(q->front+1)%MAX;
return 1;
}
int main()
{
rqueue *q;
q=(rqueue *)malloc(sizeof(rqueue));
create_queue(q);
for(int i=0;i<15;i++)
dequeue(q,i);
for(int i=0;i<16;i++)
dis_queue(q);
return 0;
}
循环队列
最新推荐文章于 2011-07-09 17:34:05 发布