软件水平考试

设某循环队列Q的定义中有front和rear两个域变量,其中,front指示队头元素的位置,rear指示队尾元素之后的位置,如下图所示。若该队列的容量为M,则其长度为(57)。 A.(Q.rear-Q.front+1) B.(Q.rear-Q.front+M) C.(Q.rear-Q.front+1)%M D.(Q.rear-Q.front+M)%M

题目
设某循环队列Q的定义中有front和rear两个域变量,其中,front指示队头元素的位置,rear指示队尾元素之后的位置,如下图所示。若该队列的容量为M,则其长度为(57)。

A.(Q.rear-Q.front+1)
B.(Q.rear-Q.front+M)
C.(Q.rear-Q.front+1)%M
D.(Q.rear-Q.front+M)%M
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

( 2 ) 设某循环队列的容量为 50 , 如果头指针 front=45 ( 指向队头元素的前一位置 ) , 尾指rear=10 (指向队尾元素 ) ,则该循环队列中共有 【 2 】 个元素。


正确答案:

第2题:

在循环队列中,若front与rear分别表示对头元素和队尾元素的位置,则判断循环队列空的条件是()。

A.front==rear+1

B.rear==front+1

C.front==rear

D.front==0


正确答案:C

第3题:

设某循环队列的容量为 50 ,头指针 front=5( 指向队头元素的前一位置 ) ,尾指针 rear=29( 指向队尾元素 ) ,则该循环队列中共有 【 3 】 个元素。


正确答案:

第4题:

循环队列A[0…m-1)存放其元素,用front和Feat分别表示队头和队尾,则循环队列满的条件是(35)。

A.Q.rear+1==Q.front

B.Q.rear==Q.front+1

C.Q.rear==Q.front

D.(Q.rear+1)%m==Q.front


正确答案:D
解析:本题考查队列的基本知识。队列也是一种特殊的线性表,只允许在一端进行插入,另一端进行删除运算。循环队列就是将实现队列的A[M]的第一个元素A[0]与最后一个元素A[M-1]连接起来。在循环队列中用队头和队尾表示队列满的条件是(Q.rear+1)%m==Q.front。

第5题:

设某循环队列的容量为50,头指针front=5(指向队头元素的前一位置),尾指针rear=9(指向队尾元素),则该循环队列中共有______个元素。


正确答案:24
24 解析:实现循环队列时,头指针指向第一个元素的前一个空间,尾指针指向最后一个元素。因此,此时队列中6、7、8、…、29这24个空问存有元素,即队列中有29-5=24个元素。

第6题:

设循环队列用C语言数组A[m]表示,front指针指向真正队头的前一个位置,rear指针指向真正队尾,队列中当前元素个数为n,则(1)若已知front、rear,则n=()。(2)若已知front、n,则rear=()。(3)若已知rear、n,则front=()。


参考答案:n=(rear-front+m)%mrear=(front+n)%mfront=(rear-n+m)%m

第7题:

设循环队列Q的定义中有rear和len两个域变量,其中rear表示队尾元素的指针,len表示队列的长度,如下图所示(队列长度为3,队头元素为e)。设队列的存储空间容量为M,则队头元素的指针为(57)。

A.(Q.rear+Q.len-1)

B.(Q.rear+Q.1en-1+M)%M

C.(Q.rear-Q.1en+1)

D.(Q.rear-Q.1en+1+M)%M


正确答案:D
解析:按照正常线性存储的队列,队头元素的指针为(Q.rear-Q.len+1),而在循环队列里面,Q.rear-Q.1en+1可能会由于循环存储而变为负值,所以需要处理为(Q.rear-Q.1en+1+M)%M。

第8题:

●在循环队列中用数组A[0.m-1]存放队列元素,其队头和队尾指针分别为front和rear,则当前队列中的元素个数是 (38) 。

(38) A.(front-rear+1)%m

B.(rear-front+1)% m

C.(front-rear+m)% m

D.(rear-front+m)% m


正确答案:D
【解析】循环队列中,队头指向的是队首元素的前一个位置,队尾指向队尾元素所在位置。所以当前队列中的元素个数是(rear-froot+m)%m。

第9题:

● 设循环队列Q 的定义中有 rear 和len两个域变量,其中 rear 表示队尾元素的指针,len 表示队列的长度,如下图所示(队列长度为 3,队头元素为 e) 。设队列的存储空间容量为M,则队头元素的指针为 (57) 。

(57)

A. (Q.rear+Q.len-1)

B. (Q.rear+Q.len-1+M)%M

C. (Q.rear-Q.len+1)

D. (Q.rear-Q.len+1+M)%M


正确答案:D

第10题:

● 某循环队列的容量为 M,队头指针指向队头元素,队尾指针指向队尾元素之后,如下图所示(M=8) ,则队列中的元素数目为 (41) (MOD表示整除取余运算) 。

(41)

A. rear – front

B. front – rear

C. (rear –front + M) MOD M

D. (front – rear + M) MOD M


正确答案:C

更多相关问题