c语言:循环队列

本文介绍了循环队列的概念,包括队头和队尾指针的约定,以及队空和队满的判断条件。在循环队列中,队头指针front位于队头元素前,队尾指针rear指向队尾元素。由于队空和队满的判定可能为front=rear,故通常会牺牲一个数组元素来避免这种情况。
摘要由CSDN通过智能技术生成

1.在循环队列中需要设置队头,队尾两个指针,并且约定;队头指针front指向队头元素的前一个位置,队尾指针rear指向队尾元素。队列的这种头尾相接的顺序存储结构称为循环队列。

2.在循环队列中有个很重要的问题就是:队空和队满的判定问题。在循环队列中队空和队满的判定条件都可以是front=rear。因此,我们需要浪费一个数组元素空间,让队满的条件变为:(rear+1)%QueueSize=front

#include<stdio.h>
#include<stdlib.h>
#define N 100

typedef struct queue
{
    int data[N];
    int front,rear;
} Queue;

/*
函数功能:队列初始化
函数接口:
*/
void init_queue(Queue *q)
{
    q->front=q->rear=0;
}

/*
函数功能:入队
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值