问题
单项选择题
若循环队列以数组Q[O..m-1]作为其存储结构,变量rear表示循环队列中队尾元素的实际位置,其移动按rear=(rear+1)modm进行,变量length表示当前循环队列中的元素个数,则循环队列的队首元素的实际位置是()。
A.rear-length
B.(rear-length+m) mod m
C.(1+rear+m-length) mod m
D.m-length
答案
参考答案:C
解析:
按照循环队列的定义,因为元素移动按照rear=(rear+1)mod m进行,则当数组Q[m-1]存放了元素之后,下一个入队的元素将存放到Q[0]中,因此队列的首元素的实际位置是 (regr+1-1ength+m)mod m。