niusouti.com

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

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


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

    在少用一个元素空间的循环队列 (m0为最大队列长度(以元素为单位),front和rear分别为队列的队头指针和队尾指针 ) 中,当队列非空时,若插入一个新的数据元素,则其队尾指针rear的变化是()

    A.rear==(front+1) % m0

    B.rear==(rear+1) % m0

    C.rear==(front+1)

    D.rear==(rear+1)


    B

  • 第2题:

    在少用一个元素空间的循环队列 (m0为最大队列长度(以元素为单位),front和rear分别为队列的队头指针和队尾指针 ) 中,当队列非满时,若删除一个数据元素,则其队头指针front的变化是()

    A.front==(rear+1) % m0

    B.front==(front+1)

    C.front==(rear+1)

    D.front==(front+1) % m0


    B

  • 第3题:

    判断一个循环队列(m0为最大队列长度(以元素为单位),front和rear分别为队列的队头指针和队尾指针 ) 为满队列的条件是()

    A.front == rear

    B.front != rear

    C.front == (rear+1) % m0

    D.front != (rear+1) % m0


    C

  • 第4题:

    ()循环队列Q[0..m-1]存放其元素用front和rear分别表示队头和队尾则循环队列空的条件是Q.rear==Q.front。


    正确

  • 第5题:

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

    A.(rear-front+m)%m

    B.rear-front+1

    C.(front-rear+m)%m

    D.(rear-front+1)%m


    循环队列的定义: typedef struct {ElemType Q[m];int rearlength;)SeQueue;//rear指向队尾元素length为元素数 (1)设cq是SeQueue类型变量当cq.length=0时队空当cq.1ength=m时队满。 (2)SeQueue initqueue(SeQueue cq) //cq为循环队列本算法进行队列初始化 {cq.rear=0;cq.1ength=0; return cq;} (3 循环队列的定义:typedefstruct{ElemTypeQ[m];intrear,length;)SeQueue;//rear指向队尾元素,length为元素数(1)设cq是SeQueue类型变量,当cq.length=0时队空,当cq.1ength=m时队满。(2)SeQueueinitqueue(SeQueuecq)//cq为循环队列,本算法进行队列初始化{cq.rear=0;cq.1ength=0;returncq;}(3