选择题

设循环队列为 Q(1: m), 其初始状态为 front=rear=m。 经过一系列入队与退队运算后, front=15, rear=20。现要在该循环队列中寻找最大值的元素, 最坏情况下需要比较的次数为(     )。

【正确答案】 A
【答案解析】

循环队列顺序存储结构队列。 循环队列中, rear 指向队列中的队尾元素, front 指向队头元素的前一个位置, 本题中, 在 front 指向的后一个位置和 rear 指向的位置之间, 所有的元素均为队列中的元素。 队列初始状态为 front=rear=m, 当 front=15, rear=20 时, 队列中共有 20-15(尾指针-头指针) =5 个元素, 寻找其中最大值的最坏情况是逐项比较, 所以需比较 4 次。 答案选择 A 选项。