问题
单项选择题
若循环队列以数组Q[0..m-1]作为其存储结构,变量rear表示循环队列中队尾元素的实际位置,其移动按rear=(rear+1)mod m进行,变量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],因此,队列首元素的实际位置是(rear+1-length+m)mod m。