题10
题目
假设用 A[0...n] 实现循环队列,front、rear 分别指向队首元素的前一个位置和队尾元素。若用 (rear + 1) % (n + 1) = front 作为队满标志,则 ( ).
A. 可用 front == rear 作为队空标志
B. 队列中最多可有 n + 1 个元素
C. 可用 front > rear 作为队空标志
D. 可用 (front + 1) % (n + 1) = rear 作为队空标志
分析

解
A
若用 (rear+1) % (n+1) == front 作为队满标志, 则说明题目采用了牺牲一个存储单元的方法来区分队空和队满, 因此可用 front == rear 作为队空标志。