题解:
bool AddQ( Queue Q, ElementType X ){
if(Q->Count==Q->MaxSize){
printf("Queue Full\n");
return false;
}
Q->Data[(Q->Front+Q->Count)%Q->MaxSize]=X;
Q->Count++;
return true;
}
ElementType DeleteQ( Queue Q ){
if(Q->Count==0){
printf("Queue Empty\n");
return ERROR;
}
ElementType t=Q->Data[Q->Front];
Q->Front=(Q->Front+1)%Q->MaxSize;
Q->Count--;
return t;
}
错误原因1,最开始没有审好题,没注意到循环问题,于是。。。就直接头指针和元素个数相加了
错误原因2,......我前面都return 了,后面代码写了个寂寞。。。
ElementType DeleteQ( Queue Q ){
...
...
return Q->Data[Q->Front];
Q->Front=(Q->Front+1)%Q->MaxSize;
Q->Count--;
}