刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

单选题

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

A
(Q.front-Q.rear)
B
(Q.front- Q.rear+M)%M
C
( Q.rear-Q.front)
D
(Q. rear-Q.front +M)%M
使用微信搜索喵呜刷题,轻松应对考试!

答案:

D

解析:

根据循环队列的特性,当队列为空时,队尾指针会在队头指针的前面;当队列满时,队尾指针会在队头指针的后面。因此,计算队列长度需要考虑队尾指针和队头指针的相对位置。当Q.rear-Q.front≥0时,队列长度为Q.rear-Q.front;当Q.rear-Q.front<0时,队列长度为(Q.rear-Q.front+M)。由于队列是循环的,所以需要将结果模M,得到真正的队列长度。因此,计算队列长度的通式为:(Q.rear-Q.front +M)%M,故选D。

创作类型:
原创

本文链接:某循环队列Q 的定义中用 front和 rear 两个整型域变量表示队列状态,其中 front 指示

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share