首页 > 试题广场 >

在具有n个单元的循环队列中,队满时共有()个元素。

[填空题]

在具有n个单元的循环队列中,队满时共有1个元素。

循环队列为了区分队空和队满,有三种方法
1.留出一个元素空间,此时队空是Q.front==Q.rear,队满是(Q.rear+1)%MaxSize==Q.front
2.定义队列结构体时再定义一个表示当前队列个数的数据元素size,此时队空是Q.size==0,队满是Q.size==MaxSize(虽然书上说第一种方法最常用,但我倾向于法2)
3.(个人觉得没有前两种方便)定义队列结构体时再定义一个数据元素tag,tag=0表示刚刚进行出队操作,tag=1表示刚刚进行入队操作,此时队空是Q.front==Q.rear && tag==0,队满是Q.front==Q.rear && tag==1(同样入队和出队的时候不要忘了修改tag为1或0)
回归到本题,我觉得应该是问在第一种方法下的队满时队内共有多少元素,所以答案应该 是n-1
编辑于 2018-11-05 23:31:15 回复(0)
就是这个意思不然无法判断对空队满,很少会用标记法判断

发表于 2021-03-27 11:35:27 回复(0)
循环队列为了区分队空和队满,采用少用一个元素空间的方式,即队列空间大小为M时,有M-1个元素就认为是队满,这样则判断对队空的条件不变、与非循环队列相同
发表于 2017-06-19 10:03:01 回复(0)
减 1 难道是因为队列空出一个单元用来判断空/满  的吗?
发表于 2017-05-14 14:54:03 回复(1)
求解答
发表于 2017-05-13 16:43:33 回复(0)