这道题能说一下详细的解决方法吗?为什么跟上面的不一样的方法呢?
队头front,队尾rear
front=rear=m,此时队头=队尾=m,m-m=0,所以此时队列为空(英文等于0)
经过运算
front=30,rear=10,此时队头>队尾,队头-队尾=20
队列初始状态为空,front=rear=m,(虽然队列为空,但是是m)
要求按顺序,就是初始-经过运算的
所以就是m-20
你看看我说明白没?能不能理解。
如果满意请采纳。
亲,是第几道题呢? 以下是关于队列的规律总结,知道了这个可以解题么
设循环队列为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。