全部问题 > 当前问题

这道题能说一下详细的解决方法吗?为什么跟上面的不一样的方法呢?


赖伟玲 2016-8-14 15:45:38

共 2 个回答

郭昕沛 2016-8-14 15:54:38

队头front,队尾rear

front=rear=m,此时队头=队尾=m,m-m=0,所以此时队列为空(英文等于0)

经过运算

front=30,rear=10,此时队头>队尾,队头-队尾=20


队列初始状态为空,front=rear=m,(虽然队列为空,但是是m)

要求按顺序,就是初始-经过运算的

所以就是m-20

你看看我说明白没?能不能理解。

如果满意请采纳。

赛赛 2016-8-14 15:58:40


亲,是第几道题呢? 以下是关于队列的规律总结,知道了这个可以解题么

问题来自: 队列
设循环队列为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。