设循环队列Q的定义中有front和size两个域变量,其中front表示队头元素

免费题库2022-08-02  28

问题 设循环队列Q的定义中有front和size两个域变量,其中front表示队头元素的指针,size表示队列的长度,如下图所示(队列长度为3,队头元素为x,队尾元素为z)。设队列的存储空间容量为M,则队尾元素的指针为(  )。A.(Q.front+Q.size-1)B.(Q.front+Q.size-1+M)%MC.(Q.front-Q.size)D.(Q.front-Q.size+M)%M

选项 A.(Q.front+Q.size-1)
B.(Q.front+Q.size-1+M)%M
C.(Q.front-Q.size)
D.(Q.front-Q.size+M)%M

答案 B

解析 本题考查循环队列队尾指针的计算方法。
从图示可以看出,要得到z的值可进行Q.front+Q.size-1操作,但在此不容忽视的一个问题是,循环队列在进行了多次入队出队操作之后,Q.front+Q.size-1有可能大于M,如Q.front指向M-1空间时,Q.front+Q.size-1=M+1,这已超出队列长度,所以需要让其与M进行求模操作,修正位置号。
转载请注明原文地址:https://tihaiku.com/congyezige/2410019.html

最新回复(0)