第19题 最大容量为n的循环队列,队尾指针是rear,队头是front,则队空的条件是( )。

在线等 谢谢

队空条件:rear==front

在循环队列中,当队列为空时,有front=rear,而当所有队列空间全占满时,也有front=rear。为了区别这两种情况,规定循环队列最多只能有MaxSize-1个队列元素。

当循环队列中只剩下一个空存储单元时,队列就已经满了。因此,队列判空的条件时front=rear,而队列判满的条件时front=(rear+1)%MaxSize。

扩展资料:

1、队满条件:(rear+1) %QueueSIze==front,其中QueueSize为循环队列的最大长度;

2、计算队列长度:(rear-front+QueueSize)%QueueSize;

3、入队:(rear+1)%QueueSize;

4、出队:(front+1)%QueueSize。

参考资料来源:百度百科-循环队列

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-23
queue::queue( ) //build an empty queue
{ front=0;
rear=0;
}

bool queue::empty( ) const
{ return rear==front; }
(rear+1) % maxqueue==front;为判别队列满的条件

也就是(rear+1)%最大容量n == front。这就是条件。本回答被网友采纳
第2个回答  2017-10-23
(rear+1)%max == front 这个是队列全满的条件
rear == front 这个是队列为空的条件
第3个回答  2010-01-08
front == rear
第4个回答  2013-06-19
rear==front