数据结构

设SQ是循环队列,存储在数组D[M]中,则SQ入队操作对其队尾指针rear的修改是()。

题目

设SQ是循环队列,存储在数组D[M]中,则SQ入队操作对其队尾指针rear的修改是()。

参考答案和解析
正确答案:sq->rear=(sq->rear+1)%m
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

设数组data[m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出队操作后其头指针front值为()

A、front=(front+1)%m

B、front=(front-1)%m

C、front=front+1

D、front=(front+1)%(m-1)


参考答案:A

第2题:

设循环链队列的长度为n,若只设尾指针,则出队和入队的时间复杂度分别是()和()。


参考答案:O(1)、O(1)

第3题:

●在循环队列中用数组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。

第4题:

设数组Data[0..m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出队操作的语句为()

:Afront=front+1

Bfront=(front+1)% m

Crear=(rear+1)%m

Dfront=(front+1)%(m+1)


参考答案:D

第5题:

设数组data[0…m]作为循环队列sq的存储空间,front为队头指针,rear为队尾指针,则执行出队操作的语句为

A.sq↑.front:=sq↑.front+1;

B.sq↑.front:=(sq↑.front+1)%maxsize ;

C.sq↑.rear:=(sq↑.rear+1)%maxsize ;

D.sq↑.front:=(sq↑.front+1)%(maxsize+1);


正确答案:B
解析:循环队列采用的方法是:假设向量sq↑.data [maxsize]是一个首尾相接的圆环,即sq↑.data [0]接在sq↑.data [maxsize-1]之后,我们将这种意义下的向量称循环向量,并将循环向量中的队列称为循环队列。若当前尾指针等于向量的上界,则再做入队列操作时,令尾指针等于向量的下界,这样就利用到已被删除的元素空间,克服假上溢现象。因此入队操作时,在循环意义下的尾指针加1操作可描述为:if(sq↑.rear>=maxsize)sq↑.near:=0;else sq↑.rear++;如果利用"模运算",上述循环意义下的尾指针加1操作,可以更简洁地描述为:sq↑.rear=(sq↑.rear+1)%maxsize。同样,出队操作时,在循环意义下的头指针加1操作,也可利用"模运算"来实现:sq↑.front:=(sq↑.front+1)%maxsize。

第6题:

设循环队列用C语言数组A[m]表示,front指针指向真正队头的前一个位置,rear指针指向真正队尾,则(1)队满的条件为(),(2)队空的条件为()。


参考答案:front=(rear+1)%mrear==front

第7题:

将数组a[0,1,…,m-1]作为循环队列SQ的存储空间,f为队头指示,r为队尾指示,则执行出队操作的语句为()

A.f=f+1

B.f=(f+1)%m

C.r=(r+1)%m

D.f=(f+1)%(m+1)


正确答案:B

第8题:

●设数组data[m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出队操作后其头指针front值为 (41) 。

(41) A.front=front+1

B.front=(front+1)%(m-1)

C.front=(front-1)%m

D.front=(front+1)%m


正确答案:D
【解析】循环队列中出队操作后头指针需在循环意义下加1,因此为front=(front+1)%m。

第9题:

若循环队列以数组Q[0...m-1]作为其存储结构,变量rear表示循环队列中队尾元素的实际位置,其移动按rear=(rear+1)mod m进行,变量length表示当前循环队列中的元素个数,则循环队列的队首元素的实际位置是______。

A.rear-length

B.(rear-length+m)mod m

C.(1+rear+m-length)mod m

D.m-length


正确答案:C
解析:根据循环队列的定义,因为元素移动按照rear=(rear+1)mod m进行,则当数组 Q[m-1]存放了元素之后,下一个入队的元素将存放到Q[0],因此,队列首元素的实际位置是(rear+1-length+m)mod m。

第10题:

设数组data[0…m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出队操作的语句为______。

A.front:=front+1

B.front:=(front+1)mod m

C.rear:=(rear+1)mod m

D.front:=(front+1)mod(m+1)


正确答案:D

更多相关问题