熟悉计算机二级公共知识的高手请进!

1个回答

  • 是取余的意思.

    举例说吧,有一个有长度为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等价于上式.