某循环队列Q 的定义中用 front和 rear 两个整型域变量表示队列状态,其中 front 指示队头元素的位置、rear 指示队尾元素之后的位置(如下图所示,front的值为5、rear 的值为 1)。若队列容量为M(下图中 M=6),则计算队列长度的通式为()

2883 次浏览
  • A、(Q.front-Q.rear)
  • B、(Q.front- Q.rear+M)%M
  • C、( Q.rear-Q.front)
  • D、(Q. rear-Q.front +M)%M
根据题中的图示,当Q.rear-Q.front≥0时,队列长度为Q.rear-Q.front;当Q.rear-Q.front<0时,队列元素个数为(Q.rear-Q.front+M)。综上,队头元素的位置应该为(Q.rear-Q.size+M)%M。
挑战成功
1年前
挑战失败
1年前
挑战失败
1年前
挑战失败
1年前
挑战失败
3年前
挑战失败
3年前
挑战失败
3年前