【3-1-5】设一个循环队列Q[maxSize]的队头指针为front,队尾指针为rear,队列最大容量为maxSize,除此之外该队列再没有其他数据成员,则该队列的队满条件是()。 A.Q.front==Q.rear B.Q.front+Q.rear>=maxSize C.Q.front==(Q.rear+1)%maxSize D.Q.rear==(Q.front+1)%maxSize

题目

【3-1-5】设一个循环队列Q[maxSize]的队头指针为front,队尾指针为rear,队列最大容量为maxSize,除此之外该队列再没有其他数据成员,则该队列的队满条件是()。 A.Q.front==Q.rear B.Q.front+Q.rear>=maxSize C.Q.front==(Q.rear+1)%maxSize D.Q.rear==(Q.front+1)%maxSize


相似考题
更多“【3-1-5】设一个循环队列Q[maxSize]的队头指针为front,队尾指针为rear,队列最大容量为maxSize,除此之外该队列再没有其他数据成员,则该队列的队满条件是()。 A.Q.front==Q.rear B.Q.front+Q.rear>=maxSize C.Q.front==(Q.rear+1)%maxSize D.Q.rear==(Q.front+1)%maxSize”相关问题
  • 第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题:

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

    A.5

    B.15

    C.35

    D.40


    正确答案:B
    队列个数-rear—front+容量。

  • 第3题:

    设循环队列的结构如题33。若有一个Queue类型的队列Q,计算队列元素个数应该用(34)。

    A.(Q.rear-Q.front+ MaxSize)%MaxSize;

    B.Q.rear-Q.front+1;

    C.Q.rear-Q.front-1;

    D.Q.rear-Qfront;


    正确答案:A
    解析:(Q.rear-Q.front+MaxSize)%MaxSize表示循环队列中元素个数,无论头指针和尾指针位置如何。

  • 第4题:

    循环队列qu的队空条件是()。

    A.(qu.rear+1)%MaxSize==(qu.front+1)%MaxSize
    B.(qu.rear+1)%MaxSize-=qu.front+1
    C.(qu.rear+1)%MaxSize==qu.front
    D.qu.rear==qu.front

    答案:D
    解析:
    循环队列为空,当且仅当队尾指针等于队尾指针.具体的操作语句为qu.rear==qu.front。

  • 第5题:

    循环队列sq中,用数组elem存放数据元素,sq.front指示队头元素的前一个位置,sq.rear指示队尾元素的当前位置,队列的最大容量为MAXSIZE,则在队列未满时元素x入队列的主要操作为()。

    • A、sq.rear= (sq.rear+1)mod MAXSIZE; sq.elem[sq.rear]=x;
    • B、sq.elem[sq.rear]=x; sq.rear= (sq.rear+1)mod MAXSIZE;
    • C、sq.front= (sq.front+1)mod MAXSIZE; sq.elem[sq.front]=x;
    • D、sq.elem[sq.front]=x; sq.front= sq.front+1;

    正确答案:A

  • 第6题:

    循环队列的队首指针为front,队尾指针为rear,则队空的条件为()。


    正确答案:front=rear

  • 第7题:

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


    正确答案:4;2

  • 第8题:

    设循环队列的头指针front指向队首元素,尾指针rear指向队尾元素后的一个空闲元素,队列的最大空间为MAXLEN,则队满标志为()


    正确答案:front=(rear+1)%MAXLEN

  • 第9题:

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

    正确答案: 3,5
    解析: 暂无解析

  • 第10题:

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

    正确答案: (r+1)%MaxSize=f
    解析: 暂无解析

  • 第11题:

    填空题
    设循环队列的头指针front指向队首元素,尾指针rear指向队尾元素后的一个空闲元素,队列的最大空间为MAXLEN,则队满标志为()

    正确答案: front=(rear+1)%MAXLEN
    解析: 暂无解析

  • 第12题:

    单选题
    循环队列sq中,用数组elem存放数据元素,sq.front指示队头元素的前一个位置,sq.rear指示队尾元素的当前位置,队列的最大容量为MAXSIZE,则队列满的条件为()。
    A

    sq.front= sq.rear

    B

    sq.front= sq.rear+1

    C

    (sq.front +1)mod MAXSIZE= sq.rear

    D

    (sq.rear+1)mod MAXSIZE= sq.front


    正确答案: B
    解析: 暂无解析

  • 第13题:

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

  • 第14题:

    设循环队列的结构是: const int MaxSize=100; typedef int Data Type; typedef struct { DataType data[MaxSize]; int front, rear; }Queue; 若有一个Queue类型的队列Q,试问判断队列满的条件应是(33)。

    A.Q.front=Q.rear;

    B.Q.front-Q.rear==MaxSize;

    C.Q.front+Q.rear=MaxSize;

    D.Q.front==(Q.rear+1)%MaxSize;


    正确答案:D
    解析:循环队列尾指针加1用循环区长度取模后等于头指针则表示队列满。

  • 第15题:

    设某循环队列的容量为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。

  • 第16题:

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

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

    正确答案:B

  • 第17题:

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


    正确答案:3

  • 第18题:

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


    正确答案:3;5

  • 第19题:

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


    正确答案:(r+1)%MaxSize=f

  • 第20题:

    循环队列的最大存储空间为MaxSize,若队头指针front,队尾指针rear,采用少用一个存储空间以有效地判断栈空或栈满,队空的判定条件为()


    正确答案:rear==front为真

  • 第21题:

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

    正确答案: 4,2
    解析: 暂无解析

  • 第22题:

    填空题
    循环队列的最大存储空间为MaxSize,若队头指针front,队尾指针rear,采用少用一个存储空间以有效地判断栈空或栈满,队空的判定条件为()

    正确答案: rear==front为真
    解析: 暂无解析

  • 第23题:

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

    正确答案: 3
    解析: 暂无解析

  • 第24题:

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

    front=maxSize

    B

    (rear+1)%maxSize=front

    C

    rear=maxSize

    D

    rear=front


    正确答案: A
    解析: 暂无解析