应该是比较m-21次吧?
亲爱哒
不好意思,刚刚才看到题
我们说:当front<rear,队列中元素个数为rear–front
当front>rear,队列中元素个数为m–front+rear
当front=rear,队列为空或满,即队列中元素个数为0或m。
然后,你再看题目中说:front=30,rear=10,也就是
front> rear,那么队列中哒元素个数为:
m-front+rear=m-30+10=m-20个元素
然后我们再来看题:题目中问的我们是顺序查找,最坏情况下需要比较的次数,注意是“顺序查找”那么就是说:在最坏情况下需要比较的次数=循环队列中元素的个数=m-20
所以我们说这道题选择D选项就可以了
亲爱哒“望采纳哟!”如果以后还有什么不懂哒问题我们还可以一起讨论哟,相信我们一定会把问题解决哒,么么哒亲爱哒!
设循环队列为Q(1: m),其初始状态为front=rear=m。经过一系列入队与退队运算后,front=30,rear=10。现要在该循环队列中作顺序查找,最坏情况下需要比较的次数为( )
A. 19
B. 20
C. m-19
D. m-20
答案:D
解析:初始状态为front=rear=m,即m-m=0,此时队列为空。经过一系列入队与退队运算后,front=30,rear=10。队尾小于对头,则队尾减去对头加上容量等于m-20个元素。题目要求按顺序查找,所以最坏情况下需要比较的次数为m-20次。因此选择D。