循环队列(1:m)最坏情况下需要比较的次数问题

设循环队列为Q(1:m),其初始状态为front=rear=m,经过一系列入队与退队运算后,front=30,rear=10,现要在该循环队列中作顺序查找,最坏情况下需要比较的次数为?(求算法??)----答案是m-20,感觉错误了,应该是m-21,求大侠帮忙指点

因为是顺序查找,顺序查找应和元素个数相同,所以是m–20而不是m–21。如果没有顺序查找四个字的话便是m–21。

最坏的情况就是转了一圈。因为下标是从1开始的。所以是m-20

front=30,rear=10,front>rear,则队列中有 10-30+m=m-20 个元
素,在作顺序查找时,最坏情况下(最后一个元素才是要找的元素或没有
要查找的元素)比较次数为 m-20 次。