如果希望循环队列中的向量单元都能得到利用,则可设置一个标志域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)