设循环队列的存储空间为Q(1:50),初始状态为front=rear=50。经过一系列正常的操作后,front=rear-1。为了在该队列中寻找值最大的元素,在最坏情况下需要的比较次数为( )。

  • A0
  • B1
  • C49
  • D50
参考答案: A
解题思路: 在循环队列运转后,如果front<rear,队列中元素的个数为rear-front个;
如果front>rear,则队列中的元素个数为rear-front+m。
本题中,front<rear,则队列中的元素个数为rear-front=rear-(rear-1)=1。

在长度为n的线性表中寻找值最大的元素,最坏情况下需要比较的次数为n-1。
因此,在该队列中寻找值最大的元素,在最坏情况下需要的比较次数为1-1=0,也就是只有一个元素的时候,不用比较就可确定是最大元素。>>>立即刷题