题8

题目

Q:假设用数组 Q[MaxSize] 实现循环队列,队首指针 front 指向队首元素的前一位置, 队尾指针 rear 指向队尾元素,则判断该队列为空的条件是 ( ).
A. (Q.rear+1)% MaxSize == (Q.front+1)% MaxSize
B. (Q.rear+1)% MaxSize == Q.front+1
C. (Q.rear+1)%MaxSize == Q.front
D. Q.rear == Q.front

分析

A:我感觉是
原来B是判定循环队列是否已经满了

D
当队列中只有一个元素时, front 指向该元素的前一个位置, rear 指向该元素, 因此当队列为空时, 队首指针等于队尾指针, 这样第一个元素进队后, 才能符合题目要求。