判断一个循环队列q最多元素为m个,满队列的条件是什么

如题所述

有front和rear时,尾指针指向队尾,用m--,当front等于rear时,判断m是否为0。

队满条件是元素个数为m0。由于约定满队时队首指针与队尾指针相差1,所以不必再减1了,应当选A。当然,更正确的答案应该取模,即:QU->front = = (QU->rear+1)% m0。

扩展资料:

循环队列中,当队列为空时,有front=rear,而当所有队列空间全占满时,也有front=rear。为了区别这两种情况,规定循环队列最多只能有MaxSize-1个队列元素,当循环队列中只剩下一个空存储单元时,队列就已经满了。因此,队列判空的条件是front=rear,而队列判满的条件是front=(rear+1)%MaxSize。

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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-01-20

有front和rear时,尾指针指向队尾,用m--,当front等于rear时,判断m是否为0。为充分利用向量空间,克服"假溢出"现象的方法是:将向量空间想象为一个首尾相接的圆环,并称这种向量为循环向量。循环队列是把顺序队列首尾相连,把存储队列元素的表从逻辑上看成一个环,成为循环队列。

扩展资料:

在循环队列结构中,当存储空间的最后一个位置已被使用而再要进入队运算时,只需要存储空间的第一个位置空闲,便可将元素加入到第一个位置,即将存储空间的第一个位置作为队尾。循环队列可以更简单防止伪溢出的发生,但队列大小是固定的。

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

因此,队列判空的条件是front=rear,而队列判满的条件是front=(rear+1)%MaxSize。

本回答被网友采纳
第2个回答  2011-12-27
有front和rear时,尾指针指向队尾,用m--,当front等于rear时,判断m是否为0本回答被网友采纳
第3个回答  2011-12-27
(rear+1)%m==front