循环队列q(最多n个元素)为满的条件是什么

如题所述

判断一个循环队列q(最多n个元素)为满的条件是Q->front==(Q->rear+1)%n

队列的存储结构

1、队列的物理存储可以用顺序存储结构,也可用链式存储结构。相应队列的存储方式也分为两种,即顺序队列和链式队列。

2、顺序队列可以用一维数组表示如下:#define MAXQSIZE 100 //最大队列长度Typedef struct {QElemType *base; //初始化的动态分配存储空间int front; //头指针int rear; //尾指针}SqQueue。

循环队列的基本操作语句

1、队列的初始:front=rear=0;

2、元素入队:base[rear]=x; rear++;

3、元素出队:x=base[front];front++;

4、空队标志:front==rear;

5、队满标志:为了防止队满标志和队空标志一样,则会少用一个元素空间,即队列空间大小为m时,有m-1个元素就认为是队满。这样判断队空的条件不变,即当头、尾指针的值相同时,则认为队空;而当尾指针在循环意义上加1后是等于头指针,则认为队满。

因此,在循环队列中队满的条件是:(rear+1)%MAXQSIZE==front。

温馨提示:答案为网友推荐,仅供参考
相似回答