更多“在队列的顺序存储结构中,当插入一个新的队列元素时,()指针的值增1,当删除一个元素队列时,()指针的值增1。”相关问题
  • 第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.从队尾插入一个新元素

    B.从队列中删除第i个元素

    C.判断一个队列是否为空

    D.读取队头元素的值


    正确答案:B
    解析:队列是限定所有的插入都在表的一端进行,所有的删除都在表的另一端进行的线性表。进行删除的一端叫队列的头,进行插入的一端叫队列的尾。

  • 第3题:

    以下哪一个不是队列的基本运算?

    A.从队尾插入一个新元素

    B.从队列中删除第1个元素

    C.判断一个队列是否为空

    D.读取队首元素的值


    正确答案:B
    解析:队列只能在队尾插入元素,从队头删除元素,这就是所谓的“先进先出”,而不能从队列中间删除或插入元素。

  • 第4题:

    对于顺序存储的队列,存储空间大小为n,头指针为F,尾指针为R。若在逻辑上看一个环,则队列中元素的个数为()。


    正确答案:(R-F)%n

  • 第5题:

    以下()不是队列的基本运算

    • A、从队尾插入一个新元素
    • B、从队列中删除第i个元素
    • C、判断一个队列是否为空
    • D、读取队头元素的值

    正确答案:B

  • 第6题:

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


    正确答案:3;5

  • 第7题:

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


    正确答案:4;2

  • 第8题:

    15.循环队列采用数组data()来存储元素的值,并用front和rear分别作为其头尾指针。为区分队列的满和空,约定队列中能够存放的元素个数最大为n—1,也即至少有一个元素空间不用,则在任意时刻,至少可以知道一个空的元素的下表是()。入队时,可用语句()切除新元素在数组data中的下标。


    正确答案:front;rear=rear+1;mod n

  • 第9题:

    在顺序队列中,应该有队头和队尾两个指针来指示,队头指针和队尾指针的初值在队列的初始化时均应该设置为(),当对队列进行插入和删除的操作后,如果头指针和尾指针相等时,队列为()。


    正确答案:0;空

  • 第10题:

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

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

  • 第11题:

    填空题
    在一个循环队列中,队首指针指向队首元素的();从循环队列中删除一个元素时,其操作是先取出队首元素,后();在具有n个单元的循环队列中,队满时共有()个元素。

    正确答案: 前一个位置,移动队首指针,n-1
    解析: 暂无解析

  • 第12题:

    填空题
    在顺序队列中,应该有队头和队尾两个指针来指示,队头指针和队尾指针的初值在队列的初始化时均应该设置为(),当对队列进行插入和删除的操作后,如果头指针和尾指针相等时,队列为()。

    正确答案: 0,空
    解析: 暂无解析

  • 第13题:

    从顺序存储的循环队列中删除一个元素时,是______。

    A.先移动队首指针,后取出元素

    B.先取出元素,后移动队首指针

    C.先移动队尾指针,后取出元素

    D.先取出元素,后移动队尾指针


    正确答案:A

  • 第14题:

    以下哪一项不是队列的基本运算?

    A.从队尾插入一个新元素

    B.从队列中删除第1个元素

    C.判断一个队列是否为空

    D.读取队头元素的值


    正确答案:B
    解析:队列只能在队尾插入元素,从队头删除元素,这就是所谓的“先进先出”,而不能从队列中间删除或插入元素。

  • 第15题:

    若队列采用链式存储结构,队头指针与指针分别为front和rear,向队列中插入一个数据信息为item的新元素的过程是依次执行:call GETNODE(p),data(P)←item,rear←p,front←p。


    正确答案:错误

  • 第16题:

    在一个顺序存储的循环队列中,队头指针指向队头元素的后一个位置。


    正确答案:错误

  • 第17题:

    在一个循环队列中,队首指针指向队首元素的();从循环队列中删除一个元素时,其操作是先取出队首元素,后();在具有n个单元的循环队列中,队满时共有()个元素。


    正确答案:前一个位置;移动队首指针;n-1

  • 第18题:

    在队列的顺序存储结构中,当插入一个新的队列元素时,()指针的值增1,当删除一个元素队列时,()指针的值增1。


    正确答案:尾;头

  • 第19题:

    下列哪一个不是队列的基本运算?()

    • A、从队尾插入一个新元素
    • B、判断一个队列是否为空
    • C、从队列中删除第i个元素
    • D、读取队头元素的值

    正确答案:C

  • 第20题:

    从一个顺序存储的循环队列中删除一个元素时,应该()。


    正确答案:先移动队首指针,反取出元素

  • 第21题:

    填空题
    15.循环队列采用数组data()来存储元素的值,并用front和rear分别作为其头尾指针。为区分队列的满和空,约定队列中能够存放的元素个数最大为n—1,也即至少有一个元素空间不用,则在任意时刻,至少可以知道一个空的元素的下表是()。入队时,可用语句()切除新元素在数组data中的下标。

    正确答案: front,rear=rear+1,mod n
    解析: 暂无解析

  • 第22题:

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

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

  • 第23题:

    填空题
    对于顺序存储的队列,存储空间大小为n,头指针为F,尾指针为R。若在逻辑上看一个环,则队列中元素的个数为()。

    正确答案: (R-F)%n
    解析: 暂无解析

  • 第24题:

    填空题
    在队列的顺序存储结构中,当插入一个新的队列元素时,()指针的值增1,当删除一个元素队列时,()指针的值增1。

    正确答案: 尾,头
    解析: 暂无解析