如果希望循环队列中的向量单元都能得到利用,则可设置一个标志域tag,每当尾指针和头指针值相同时,以tag的值为O或1来区分队列状态是“空”还是“满”.请对下列函数填空,使其分别实现与此结构相应的入队列和出队列的算法.intEnQueue(CirQueue*Q,DataType x){if Q-tag==1 return 0;Q-data[Q-rear]=x;Q-rear=(Q-rear+1)%MAXQSIZEif(Q-rear==Q-front)Q-tag=1return1:}intDeQueue(CirQueue*Q,DataType*x){if((1))return0;*x=Q-data[Q-front];Q-front= (2) ;(3) ;return1;}(1)(2)(3)

如果希望循环队列中的向量单元都能得到利用,则可设置一个标志域tag,每当尾指针和头指针值相同时,以tag的值为O或1来区分队列状态是“空”还是“满”.请对下列函数填空,使其分别实现与此结构相应的入队列和出队列的算法.

intEnQueue(CirQueue*Q,DataType x)

{

if Q->tag==1 return 0;

Q->data[Q->rear]=x;

Q->rear=(Q->rear+1)%MAXQSIZE

if(Q->rear==Q->front)Q->tag=1

return1:

}

intDeQueue(CirQueue*Q,DataType*x)

{

if((1))return0;

*x=Q->data[Q->front];

Q->front= (2) ;

(3) ;

return1;

}

(1)

(2)

(3)


相关考题:

下列叙述中正确的是A ) 循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B ) 在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C ) 在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D ) 循环队列中元素的个数是由队头指针和队尾指针共同决定

下列叙述中正确的是( )A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定

在一个容量为24的循环队列中,若头指针front=8,尾指针rear=3,则该循环队列中共有________个元素。

用循环单链表表示的链队列中,可以不设队头指针,仅在队尾设置队尾指针。() 此题为判断题(对,错)。

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

要在一个带头结点的单向循环链表中删除头结点,得到一个新的不带头结点的单向循环链表,若结点的指针域为next,头指针为head,尾指针为p,则可执行head=head-> next; p->next=head。() 此题为判断题(对,错)。

下列叙述中正确的是( )。A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定的

对于循环队列,下列叙述中正确的是( )。A.循环队列中元素的个数是由队头指针和队尾指针共同决定B.在循环队列中,需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,队头指针一定大于队尾指针D.在循环队列中,队头指针一定小于队尾指针

在一个容量为25的循环队列中,若头指针front=16,尾指针rear=9,则该循环队列中共有【 】测—个元素。

在链表结构中,采用(59)可以用最少的空间代价和最高的时间效率实现队列结构。A.仅设置尾指针的单向循环链表B.仅设置头指针的单向循环链表C.仅设置尾指针的双向链表D.仅设置头指针的双向链表

下列叙述中正确的是( )。【考点4队列】A.循环队列有队头和队尾两个指针,因此循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定的

对于循环队列,下列叙述中正确的是( )。A.循环队列中元素的个数是由队头指针和队尾指针共同决定的B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,队头指针一定大于队尾指针D.在循环队列中,队头指针一定小于队尾指针

对一个循环单链表中,表尾结点的指针域与表头指针值()

在一个链栈中,若栈顶指针等于NULL,则为();在一个链队中,若队首指针与队尾指针的值相同,则表示该队列为()或该队列为()。

链队列实际上是一个同时带有头指针和尾指针的单链表,尾指针指向该单链表的()。

在一个链式栈中,若栈顶指针等于NULL则为(),在一个链式队列中,若队头指针与队尾指针的值相同,则表示该队列为()或该队列()。

用循环单链表表示的链队列中,可以不设队头指针,仅在队尾设置队尾指针。

设有一个单向循环链表,头指针为head,链表中结点的指针域为next,p指向尾结点的直接前驱结点,若要删除尾结点,得到一个新的单向循环链表,可执行操作()。

要在一个带头结点的单向循环链表中删除头结点,得到一个新的不带头结点的单向循环链表,若结点的指针域为next,头指针为head,尾指针为p,则可执行head=head-next;()。

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

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

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

填空题要在一个带头结点的单向循环链表中删除头结点,得到一个新的不带头结点的单向循环链表,若结点的指针域为next,头指针为head,尾指针为p,则可执行head=head-next;()。

填空题设有一个单向循环链表,头指针为head,链表中结点的指针域为next,p指向尾结点的直接前驱结点,若要删除尾结点,得到一个新的单向循环链表,可执行操作()。

填空题对一个循环单链表中,表尾结点的指针域与表头指针值()

填空题在一个链式栈中,若栈顶指针等于NULL则为(),在一个链式队列中,若队头指针与队尾指针的值相同,则表示该队列为()或该队列()。

判断题在用循环单链表表示的链式队列中,可以不设队头指针,仅在链尾设置队尾指针。()A对B错