假设以数组Q[m]存放循环队列中的元素,同时以rear和length分别只是循环队列中的队尾位置和队列中的所含元素的个数,则该循环的队列的对满条件为()。

题目

假设以数组Q[m]存放循环队列中的元素,同时以rear和length分别只是循环队列中的队尾位置和队列中的所含元素的个数,则该循环的队列的对满条件为()。


相似考题
更多“假设以数组Q[m]存放循环队列中的元素,同时以rear和leng”相关问题
  • 第1题:

    假设以数组Q[m]存放循环队列中的元素, 同时设置一个标志tag,以tag == 0和tag == 1来区别在队头指针(front)和队尾指针(rear)相等时,队列状态为“空”还是“满”。试编写与此结构相应的插入(enqueue)和删除(dlqueue)算法。


    参考答案:
      [算法描述]
      (1)初始化
      SeQueue QueueInit(SeQueue Q)
      {//初始化队列
      Q.front=Q.rear=0; Q.tag=0;
      return Q;
      }
      (2)入队
      SeQueue QueueIn(SeQueue Q,int e)
      {//入队列
      if((Q.tag==1) && (Q.rear==Q.front)) cout<<"队列已满"<  else
      {Q.rear=(Q.rear+1) % m;
      Q.data[Q.rear]=e;
      if(Q.tag==0) Q.tag=1; //队列已不空
      }
      return Q;
      }
      (3)出队
      ElemType QueueOut(SeQueue Q)
      {//出队列
      if(Q.tag==0) { cout<<"队列为空"<  else
      {Q.front=(Q.front+1) % m;
      e=Q.data[Q.front];
      if(Q.front==Q.rear) Q.tag=0; //空队列
      }
      return(e);
      }

  • 第2题:

    假设以数组A[m]存放循环队列的元素,其头尾指针分别为front和rear,则当前队列中的元素个数为()。

    A.(rear-front+m)%m

    B.rear-front+1

    C.(front-rear+m)%m

    D.(rear-front)%m


    正确答案:A

  • 第3题:

    用数组A[0…m-1]存放循环队列的元素值,若其头尾指针分别为front和rear,则循环队列中当前元素的个数为______。

    A.(rear-front+m) mod m

    B.(rear-front+m+1) mod m

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

    D.(rear-front-m-1) mod m


    正确答案:A

  • 第4题:

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

    A.rear==front

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

    C.rear+1==front

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


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

  • 第5题:

    一个循环队列Q最多可存储m个元素,已知其头尾指针分别是front和rear,则判定该循环队列为满的条件是()。

    A.Q.rear-Q.front==m
    B.Q.real!==Q.front
    C.Q.front==(Q.real+1)%m
    D.Q.front==Q.rear%m+1

    答案:C
    解析:
    少用一个元素空间和空队区别开:每次入队前测试入队后头尾指针是否会重合,如果会重合就认为队列已满,这种情况下队满的条件是:(Q.rear+1)%MAXSIZE==Q.front。

  • 第6题:

    循环队列用数组A[o…m-1]存放其元素值,已知其头尾指针分别为front和rear,则当前元素个数为()。

    A.(rear-front+m)modm
    B.rear-front+l
    C.rear-front-1
    D.rear-front

    答案:A
    解析:
    循环队列中rear和front分别指向队尾和队头,当rear>front时,元素的个数为rear-front,根据循环队列的性质,当插入点已经插入到数组A的最后位置且有新的元素插入时,会继续从数组的开始位置执行插入操作,此时rear<front,数组元素的个数为rear-front+m。综合两种情况,循环队列中当前元素的个数计算方法为:(rear-front+m)modm。

  • 第7题:

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

    • A、(front-rear+1)%m
    • B、(rear-front+1)%m
    • C、(front-rear+m)%m
    • D、(rear-front+m)%m

    正确答案:D

  • 第8题:

    循环队列用数组A[0…m-1]存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是()

    • A、(rear-front+m)%m
    • B、read-front+1
    • C、read-front-1
    • D、read-front

    正确答案:A

  • 第9题:

    用数组A[0 … m-1]来存放循环队列的元素,且它的头尾指针分别为front 和rear, 队列满足条件(sq.rear + 1) % m == sq.front,队列中当前元素的个数为()


    正确答案:m-1

  • 第10题:

    填空题
    循环队列用a[0],...,a[7]的一维数组存放队列元素,(采用少用一个元素的模式),设front和rear分别为队头和队尾指针,且front和rear 的值分别为2和7,当前队列中的元素个数是()。

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

  • 第11题:

    单选题
    循环队列用数组A[0…m-1]存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是()
    A

    (rear-front+m)%m

    B

    read-front+1

    C

    read-front-1

    D

    read-front


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

  • 第12题:

    单选题
    循环队列A[0.m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是()。
    A

    (rear-front+m)%m

    B

    rear-front+1

    C

    rear-front-1

    D

    rear-front


    正确答案: B
    解析:

  • 第13题:

    用数组A[0…m-1]存放循环队列的元素值,若其头尾指针分别为front和rear,则循环队列中当前元素的个数为______。

    A.(rear-front+re)mod m

    B.(rear-front+m+1)mod m

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

    D.(rear-front-m-1)mod m


    正确答案:A

  • 第14题:

    循环队列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。

  • 第15题:

    用数组A[0…m-1]存放循环队列的元素值,若其头尾指针分别为front和rear,则循环队列中当前元素的个数为______。

    A.(rear-front+m)mod m

    B.(rear-front+1)mod m

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

    D.(rear-front)mod m


    正确答案:A

  • 第16题:

    某循环队列Q 的定义中用 front和 rear 两个整型域变量表示队列状态,其中 front 指示队头元素的位置、rear 指示队尾元素之后的位置(如下图所示,front的值为5、rear 的值为 1)。若队列容量为M(下图中 M=6),则计算队列长度的通式为()

    A.(Q.front-Q.rear)
    B.(Q.front- Q.rear+M)%M
    C.( Q.rear-Q.front)
    D.(Q. rear-Q.front +M)%M

    答案:D
    解析:
    根据题中的图示,当Q.rear-Q.front≥0时,队列长度为Q.rear-Q.front;当Q.rear-Q.front<0时,队列元素个数为(Q.rear-Q.front+M)。综上,队头元素的位置应该为(Q.rear-Q.size+M)%M。

  • 第17题:

    以数组Q[0…m-1]存放循环队列中的元素,若变量front和qulen分别指示循环队列中队头元素的实际位置和当前队列的长度,则队尾元素的实际位置是()。

    A.front+qulen-1
    B.(front+qulen)modm
    C.(front+qulen-1)modm
    D.front+qulen

    答案:C
    解析:
    循环队列的元素顺序存储在数组Q中,已知循环队列中队头元素的存储位置为front。当前队列的长度为qulen,队尾元素的位置要在front上加上qulen,然后减l(第一个元素存储在front的位置上),对于循环队列求队尾的位置还要对总长度求余,所以队尾元素的实际位置为(front+qulen-1)modm。

  • 第18题:

    设某循环队列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

    答案:D
    解析:
    本题考查数据结构基础知识。根据题目中所给的示意图,Q.front为队头元素的指针,Q.rear表示队尾元素之后的一个空位置,故队列长度为Q.rear-Q.front,由于队列中存储位置编号是在0~M-1之间循环的,Q.rear-Q.front的结果有可能是负数,故在Q.rear-Q.front基础上加上M可恢复为正数,而此正数有可能超出0~M-1的范围,故用整除,M取余运算恢复一下,因此长度计算的式子为(Q.rear-Q.front+M)%M。

  • 第19题:

    设循环队列的元素存放在一维数组Q[0‥30]中,队列非空时,front指示队头元素的前一个位置,rear指示队尾元素。如果队列中元素的个数为11,front的值为25,则rear应指向()元素。

    • A、Q[4]
    • B、Q[5]
    • C、Q[14]
    • D、Q[15]

    正确答案:B

  • 第20题:

    循环队列用a[0],...,a[7]的一维数组存放队列元素,(采用少用一个元素的模式),设front和rear分别为队头和队尾指针,且front和rear 的值分别为2和7,当前队列中的元素个数是()。


    正确答案:5

  • 第21题:

    单选题
    设循环队列的元素存放在一维数组Q[0‥30]中,队列非空时,front指示队头元素的前一个位置,rear指示队尾元素。如果队列中元素的个数为11,front的值为25,则rear应指向()元素。
    A

    Q[4]

    B

    Q[5]

    C

    Q[14]

    D

    Q[15]


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

  • 第22题:

    填空题
    假设以数组Q[m]存放循环队列中的元素,同时以rear和length分别只是循环队列中的队尾位置和队列中的所含元素的个数,则该循环的队列的对满条件为()。

    正确答案: length==Maxsize
    解析: 暂无解析

  • 第23题:

    填空题
    用数组A[0 … m-1]来存放循环队列的元素,且它的头尾指针分别为front 和rear, 队列满足条件(sq.rear + 1) % m == sq.front,队列中当前元素的个数为()

    正确答案: m-1
    解析: 暂无解析