某循环队列Q的定义中用front和rear两个整型域变量表示队列状态,其中fro

admin2022-08-02  39

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

选项 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)。综上,队头元素的位置应该为(Q.rear-Q.front+M)%M,答案选D。
转载请注明原文地址:https://tihaiku.com/congyezige/2426726.html

最新回复(0)