循环队列的最大存储空间为MaxSize=8,采用少用一个元素空间以有效的判断栈空或栈满,若队头指针front=4,则当队

题目
填空题
循环队列的最大存储空间为MaxSize=8,采用少用一个元素空间以有效的判断栈空或栈满,若队头指针front=4,则当队尾指针rear=()时,队列为空,当rear=()时,队列有6个元素。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

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

A.S q↑.front:=S q十.front+1;

B.S q↑.front:=(S q十.front+1)%maxsize;

C.S q↑.rear:=(s q十.rear+1)%maxsize;

D.S q↑.front:=(s q十.front+1)%(maxsize+1);


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

第2题:

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

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进行求模操作,修正位置号。

第3题:

下列叙述中正确的是()

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

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

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

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


正确答案:B

第4题:

在一个链栈中,若栈顶指针等于NULL,则为();在一个链队中,若队首指针与队尾指针的值相同,则表示该队列为()或该队列为()。


正确答案:栈空;空队;队列只有一个元素

第5题:

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

A.rear==front

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

C.rear+1==front

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


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

第6题:

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

A.S q↑.front:=s q↑.front+1;

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

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

D.S q↑.front:=(s q↑.front+1)%(maxsize+1);


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

第7题:

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

A.front=rear+1

B.rear=front+1

C.front=real

D.front=0


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

第8题:

设数组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。

第9题:

在数组表示的循环队列中,front、rear分别为队列的头、尾指针,maxSize为数组的最大长度,队满的条件是()

  • A、front=maxSize
  • B、(rear+1)%maxSize=front
  • C、rear=maxSize
  • D、rear=front

正确答案:B

第10题:

某循环队列的容量MAXSIZE=6,队头指针front=3,队尾指针rear=0,则该队列有()个元素。


正确答案:3

更多相关问题