[求助]队列问题
假设两个队列共享一个循环向量空间,其类型Queue2定义如下:typedef struct{
Date Type data[MaxSize];
int front[2],rear[2];
}Queue2;
对于i=0或1,front[i]和rear[i]分别为第i个队列的头指针和尾指针.函数EnQueue(Queue2*Q,int i, DateTypex)的功能是实现第i个队列的入队操作.
int EnQueue(Queue2*Q,int i,DateType x)
if(i<0||i>1)return 0;
if(Q->rear[i]==Q->front[1-i])return 0;
Q->data[i]=x;
Q->rear[i]=(Q->rear[i]++)%Maxsize;
return 1;
}
我想问问为什么倒数第二行要填:(Q->rear[i]++)%Maxsize
可以把他改成 if(Q->rear[i]++>=Q->data[MaxSize])return0;
else return 1