题6

题目

Q:已知循环队列的存储空间为数组 ,front 指向队头元素的前一个位置,rear 指向队尾元素, 假设当前 front 和 rear 的值分别为 8 和 3, 则该队列的长度为 ( )
A. 5
B. 6
C. 16
D. 17

分析

A:需要注意的是,这是一个循环队列

C
队列的长度为 (rear-front+maxsize) % maxsize = (rear-front+21) % 21 = 16。这种情况和 front 指向当前元素, rear 指向队尾元素的下一个元素的计算是相同的。
注意
数组 的下标范围为 。若写成 ,则说明下标范围为