循环队列的最大存储空间为MaxSize=6,采用少用一个元素空间以有效地判断栈空或栈满,若队头指针front=4,当队尾指针rear=()时队满,队列中共有()个元素。

题目

循环队列的最大存储空间为MaxSize=6,采用少用一个元素空间以有效地判断栈空或栈满,若队头指针front=4,当队尾指针rear=()时队满,队列中共有()个元素。

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

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


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

第2题:

在具有n个单元的顺序存储的循环队列中,假定指针front和rear分别指向队首和队尾,则判断队列为空的条件是(38),如果约定“以队尾指针所指位置的下一个位置是队首指针”表示队满,那么队列为满当且仅当(39)。

A.front=rear+1

B.rear=front+1

C.front=real

D.front=0


正确答案:C
解析:判断队列是否为空的条件是队首指针和队尾指针是否指向同一位置。

第3题:

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


正确答案:

第4题:

循环队列的最大存储空间为MaxSize=6,采用少用一个元素空间以有效地判断栈空或栈满,若队头指针front=4,当队尾指针rear=()时队满,队列中共有()个元素。
3;5

第5题:

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


正确答案:
【3】24【解析】考查数据结构的循环队列的知识。队列元素数为:|rear—front|=| 29—5|=24个。

第6题:

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

A.rear-front

B.front-rear

C.(rear-front+M)MODM

D.(front-rear+M)MOD M


正确答案:C
解析:本题考查数据结构中队列的础知识。队列是仅在表头删除元素、在表尾插入元素的操作受限的线性表,其特点是先入先出。应用中可以将队列看作容器。队列采用顺序存储结构(一维数组,顺序队列)时,为了降低运算的复杂度,元素入队时,只需修改队尾指针rear,(rear+1→rear);元素出队时,只需修改队头指针front(front+1→front)。由于顺序队列的存储空间是提前设定的,所以队尾指针会有一个上限值,当队尾指针达到其上限时,就不能只通过修改队尾指针来实现新元素的入队操作了。此时,可将顺序队列假想成一个环状结构,称为循环队列。队列容量为M时,队头指针front和队尾指针rear的值循环地在0~M-1之间变化,当rear>front时,队列中元素数目为rear-front;当rearfront时,队列中元素数目为rear-front +M。综上,队列中元素数目为(rear-front+M)MOD M。

第7题:

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


正确答案:
24【分析】本题主要考查考生对循环队列的存储形式和入队运算、出队运算的理解。循环队列的初始状态为满或空(front=50,rear=50),出队:front=front+1(若front=50,则将1赋值给front),入队:rear=rear+1(若rear=51,则将1赋值给rear)。
我们现在来模拟从循环队列的初始状态,经过多少次入队WWW出队操作来达到最终状态front=5,rear=29。
假设循环队列的初始状态为满(front=50,rear=50),只能先出队,然后再入队。将一个元素出队,front=50+l=51,根据循环队列的规定应该将l赋值给front,即front=1,再将一个元素出队,front=1+1=2,直到出队5个元素,front=5。5个元素出队了,空出了5个空间,所以元素可以入队,将一个元素入队,rear=50+1=51,根据循环队列的规定应
该将l赋值给rear,即rear=1,再将一个元素入队,rear=1+1=2,直到入队29个元素,rear=29。由于出队只空出5个空间,所以无法入队29个元素。因此循环队列的初始状态为满不成立。
假设循环队列的初始状态为空(front=50,rear=50),只能先入队,然后再出队。rear=29,表示有29个元素入队了,也即队列中只有29个元素。现在front=5,表示要有5个元素出队,队列中只剩下29—5=24个元素。因此循环队列的初始状态只能为空。队列中有24个元素。
同理,若循环队列的最终状态为front=29,rear=5,我们可以肯定循环队列的初始状态为满,则队中有50—29+5=26个元素。
若循环队列的最终状态为front=29,rear=29,我们可以肯定循环队列为满或空,所以循环队列中有50或O个元素。
总结,规律如下:若front>rear,队列中有n-front+rear个元素(其中n为循环队列的容量);若front<rear,队列中有rear-front个元素;若front=rear,队列中有n个或0个元素。因此本题的正确答案是24。

第8题:

下列叙述中正确的是()

A.带链栈的栈底指针是固定的

B.带链栈的栈底指针是随栈的操作而动态变化的

C.若带链队列的队头指针与队尾指针相同,则队列为空

D.若带链队列的队头指针与队尾指针相同,则队列中至少有一个元素


正确答案:B

第9题:

假设以数组A[n]存放循环队列的元素,其头指针front指向队头元素的前一个位置、尾指针rear指向队尾元素所在的存储位置,则在少用一个元素空间的前提下,队列满的判定条件为 ( )

A.rear==front

B.(front+1)%n==rear

C.rear+1==front

D.(rear+1)%n==front


正确答案:D
解析:在循环队列中,在少用一个元素空间的前提下,可约定入队前,测试尾指针在循环意义下加1后是否等于头指针,若相等则认为队满。

第10题:

循环队列的最大存储空间为MaxSize,队头指针为f,队尾指针为r,当()时表明队列已满。
(r+1)%MaxSize=f

更多相关问题