C语言实现循环队列

本文详细介绍了循环队列的数据结构及其在C语言中的创建、判空、判满、入队和出队操作,展示了基本的队列操作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

循环队列

1、循环队列的创建

#define N 5
typedef int data_type;
typedef struct{
 data_type buf[N];
 int front;
 int rear;
}loop_queue;

loop_queue *create_loop_queue(){

loop_queue * lq=(loop_queue*)malloc(sizeof(loop_queue));
if(NULL==lq){
printf("malloc fail!\n");
}
memset(lq,0,sizeof(loop_queue));
return lq;
}

2、判空

int is_empty(loop_queue *lq){
return lq->front==lq->rear;
}

3、判满

int is_full(loop_queue *lq){

return lq->front==(lq->rear+1)%N;
}

4、入队

void in_queue(loop_queue *lq,data_type data){

lq->buf[lq->rear]=data;
lq->rear=(lq->rear+1)%N;
}

5、出队

data_type out_queue(loop_queue *lq){

data_type data=lq->buf[lq->front];

lq->front=(lq->front+1)%N;
return data;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值