是取余的意思.
举例说吧,有一个有长度为5的空队列.
1.先入队3个元素,此时f指向队头前一个位置Q[0],r指向队尾Q[3].
2.再出队2个元素,此时f指向Q[2],r指向队尾Q[3],整个队列只有Q[3]一个数据元素.
3.这时如果再入队3个元素,由于队列总容量是5,所以当然还可以再存储3个元素.但是队尾已经是Q[3],3+3就溢出了,怎么办呢?环形队列的处理办法是从Q[0]再开始.因此新加入的3个元素依次存入Q[4]、Q[0]、Q[1].此时f指向Q[2],队头位于Q[3],队尾指向Q[1],我们发现队尾元素此时位于队头元素的前面.
环形队列中元素个数的计算只有两种情况:
1.rf,此时越界,个数为n+r-f
D等价于上式.