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

  • A0
  • B1
  • C49
  • D50
参考答案: A
解题思路: 循环队列是队列的一种顺序存储结构,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置。入队运算时,队尾指针进1(即rear+1),然后在rear指针指向的位置插入新元素;退队运算时,排头指针进1(即front+1),然后删除front指针指向的位置上的元素。当front=rear=50时可知队列空或者队列满,此后又经过操作,front=rear-1时,说明队列里有1个元素,循环队列寻找最大值最坏情况下比较n-1次,即0次。故答案为A。