假设一仅含数值AA的队列,2A入队,然后执行一次出队操作,最后数据6B和3C依次入队。那么执行这一系列的操作后从队头到队尾存储的数据依次为()A.3C、6B、AAB.3C、6B、2AC.2A、6B、3CD.6B、3C

题目

假设一仅含数值AA的队列,2A入队,然后执行一次出队操作,最后数据6B和3C依次入队。那么执行这一系列的操作后从队头到队尾存储的数据依次为()

A.3C、6B、AA

B.3C、6B、2A

C.2A、6B、3C

D.6B、3C


相似考题
参考答案和解析
2A 、 6B 、 3C
更多“假设一仅含数值AA的队列,2A入队,然后执行一次出队操作,最后数据6B和3C依次入队。那么执行这一系列的操作后从队头到队尾存储的数据依次为()”相关问题
  • 第1题:

    假设以带头结点的循环链表表示队列,并且只设一个指针指向队尾元素站点(注意不设头指针) ,试编写相应的置空队、判队空 、入队和出队等算法。


    参考答案:
      置空队就是建立一个头节点,并把头尾指针都指向头节点,头节点是不存放数据的;判队空就是当头指针等于尾指针时,队空;入队时,将新的节点插入到链队列的尾部,同时将尾指针指向这个节点;出队时,删除的是队头节点,要注意队列的长度大于1还是等于1的情况,这个时候要注意尾指针的修改,如果等于1,则要删除尾指针指向的节点。
      [算法描述]
      //先定义链队结构:
      typedef struct queuenode
      {Datatype data;
      struct queuenode *next;
      }QueueNode; //以上是结点类型的定义
      typedef struct
      {queuenode *rear;
      }LinkQueue; //只设一个指向队尾元素的指针
      (1) 置空队
      void InitQueue( LinkQueue *Q)
      { //置空队:就是使头结点成为队尾元素
      QueueNode *s;
      Q->rear = Q->rear->next;//将队尾指针指向头结点
      while (Q->rear!=Q->rear->next)//当队列非空,将队中元素逐个出队
      {s=Q->rear->next;
      Q->rear->next=s->next;
      delete s;
      }//回收结点空间
      }
      (2) 判队空
      int EmptyQueue( LinkQueue *Q)
      { //判队空。当头结点的next指针指向自己时为空队
      return Q->rear->next->next==Q->rear->next;
      }
      (3) 入队
      void EnQueue( LinkQueue *Q, Datatype x)
      { //入队。也就是在尾结点处插入元素
      QueueNode *p=new QueueNode;//申请新结点
      p->data=x; p->next=Q->rear->next;//初始化新结点并链入
      Q-rear->next=p;
      Q->rear=p;//将尾指针移至新结点
      }
      (4) 出队
      Datatype DeQueue( LinkQueue *Q)
      {//出队,把头结点之后的元素摘下
      Datatype t;
      QueueNode *p;
      if(EmptyQueue( Q ))
      Error("Queue underflow");
      p=Q->rear->next->next; //p指向将要摘下的结点
      x=p->data; //保存结点中数据
      if (p==Q->rear)
      {//当队列中只有一个结点时,p结点出队后,要将队尾指针指向头结点
      Q->rear = Q->rear->next;
      Q->rear->next=p->next;
      }
      else
      Q->rear->next->next=p->next;//摘下结点p
      delete p;//释放被删结点
      return x;
      }

  • 第2题:

    队列的常用操作有()

    A、入队

    B、出队

    C、取队首元素

    D、取队尾元素


    参考答案:ABC

  • 第3题:

    引起循环队列队头位置发生变化的操作是 ( )

    A.出队

    B.入队

    C.取队头元素

    D.取队尾元素


    正确答案:A

  • 第4题:

    下列叙述正确的是( )。

    A.非空循环队列的队尾指针等于排头指针时,也可以进行入队运算

    B.循环队列为空时可以进行退队运算

    C.退队运算后队列长度减1

    D.入队运算就是将新元素插入到队尾指针指向的位置


    正确答案:C
    解析:非空循环队列的队尾指针等于排头指针时,说明循环队列已满,不能进行入队运算,A是错误的。循环队列为空时不可以进行退队运算,否则产生“下溢”,B是错误的。入队运算首先将队尾指针加1,然后将新元素插入到队尾指针指向的位置,D是错误的。

  • 第5题:

    若in、out分别表示入队、出队操作,初始队列为空且元素a、b、c依次入队,则经过操作序列in、in、out、out、in、out之后,得到的出队序列为 ( ) 。

    A.cba
    B.bac
    C.bca
    D.abc

    答案:D
    解析:
    队列的运算特点是先入先出,总是处于队头的元素先出队,新元素总是加入队尾,元素a、b、c依次入队并经过操作序列in、in、out、out、in、out的过程如下图所示。

  • 第6题:

    以下函数为链队列的入队操作,x为要入队的结点的数据域的值,front、rear分别是链队列的对头、队尾指针。

  • 第7题:

    用不带头结点的单链表存储队列,其头指针指向队头结点,尾指针指向队尾结点,则在进行出队操作时()。

    • A、仅修改队头指针
    • B、仅修改队尾指针
    • C、队头、队尾指针都可能要修改
    • D、队头、队尾指针都要修改

    正确答案:C

  • 第8题:

    假设Q[1,10]是一个循环队列,初始状态为front=rear=1,若做完debgh入队和de出队的操作后,rear=(),front=().


    正确答案:6;3

  • 第9题:

    设长度为n的链队用单循环链表表示,若设头指针,则入队出队操作的时间为何?若只设尾指针呢?


    正确答案:当只设头指针时,出队的时间为1,而入队的时间需要n,因为每次入队均需从头指针开始查找,找到最后一个元素时方可进行入队操作。若只设尾指针,则出入队时间均为1。因为是循环链表,尾指针所指的下一个元素就是头指针所指元素,所以出队时不需要遍历整个队列。

  • 第10题:

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


    正确答案:sq->rear=(sq->rear+1)%m

  • 第11题:

    单选题
    数组data[m]为循环队列的存储空间,front为队头指针,rare为队尾指针,则执行入队的操作为()
    A

    rare=rare+1

    B

    rare=(rare+1)%(m-1)

    C

    rare=(rare-1)%m

    D

    rare=(rare+1)%m


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

  • 第12题:

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

    正确答案: sq->rear=(sq->rear+1)%m
    解析: 暂无解析

  • 第13题:

    在队列中,允许删除元素的一端称为()

    A、队首

    B、队尾

    C、入队

    D、出队


    参考答案:A

  • 第14题:

    引起循环队列队头位置发生变化的操作是(26)。

    A.出队

    B.入队

    C.取队头元素

    D.取队尾元素


    正确答案:A
    解析:本题考查循环队列的特点。循环队列是指把队列造成一个环状的空间,而队列中的其他关系仍保持不变。其头指针仍指向第一个元素,而尾指针仍指向最后一个元素。在队头进行的操作仍然是删除运算,那么是出队操作。

  • 第15题:

    若in、out分别表示入、出队操作,初始队列为空且元素a、b、c依次入队,则经过操作序列in、in、out、out、in、out之后,得到的出队序列为______。

    A.cba

    B.bac

    C.bca

    D.abe


    正确答案:D
    解析:队列的运算特点是先进先出。初始队列为空且元素a、b、c依次入队,则经过操作序列in、in、out、out、in、out的过程,如图8-9的(a)~(g)所示。通过图可知,出队序列为abc,所以,本题正确答案为选项D。

  • 第16题:

    队列采用如下图所示的循环单链表表示,图(a)表示队列为空,图(b)为e1、e2.e3依次入队列后的状态,其中,rear指针指向队尾元素所在结点,size为队列长度。以下叙述中,正确的是( )。

    A.入队列时需要从头至尾遍历链表,而出队列不需要B.出队列时需要从头至尾遍历链表,而入队列不需要C.新元素加入队列以及队头元素出队列都需要遍历链表,D.入队列和出队列操作都不需要遍历链表


    正确答案:D

  • 第17题:

    以下函数为链队列的入队操作,x为要入队的结点的数据域的值,front、rear分别是链队列的队头、队尾指针。
    malloc(sizeof(structnode));rear->next=p;p

  • 第18题:

    以下函数为链队列的入队操作,X为要人队的结点的数据域的值,front,rear分别是链队列的队头、队尾指针。
    (1)malloc(sizeof(structnode))
    (2)rear->next=p
    (3)p

  • 第19题:

    设长度为n的链队列用单循环链表表示,若只设头指针,则入队和出队操作的时间复杂度分别为()和();若只设尾指针,则入队和出对操作的时间复杂度分别为()和()。


    正确答案:O(n);O(1);O(1);O(1)

  • 第20题:

    设循环队列的容量为70,现经过一系列的入队和出队操作后,front为20,rear为11,则队列中元素的个数为()。


    正确答案:61

  • 第21题:

    队列中的操作有()。

    • A、入队
    • B、出队
    • C、获得对首元素
    • D、判断队列是否为空

    正确答案:A,B,C,D

  • 第22题:

    单选题
    设数组Data[m+1]作为循环队列sq的存储空间,front成为队头指针,rear为队尾指针,则执行入队操作的语句为()
    A

    rear = rear+1

    B

    rear = (rear+1)%m

    C

    front = (front+1)%m

    D

    rear = (rear+1)%m + 1


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

  • 第23题:

    填空题
    设长度为n的链队列用单循环链表表示,若只设头指针,则入队和出队操作的时间复杂度分别为()和();若只设尾指针,则入队和出对操作的时间复杂度分别为()和()。

    正确答案: O(n),O(1),O(1),O(1)
    解析: 暂无解析

  • 第24题:

    填空题
    设循环队列的容量为70,现经过一系列的入队和出队操作后,front为20,rear为11,则队列中元素的个数为()。

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