一般情况下,front指向队头元素,rear指向队尾元素下一个位置

循环队列

正常条件下

队空:Q.front==Q.rear=0

队首指针进一:Q.front=(Q.front+1)%MaxSize

队尾指针进一:Q.rear=(Q.rear+1)%MaxSize

队列长度:(Q.rear+MaxSize-Q.front)%MaxSize

特定条件下,为了区分队满队空

牺牲一个单元,入队时少用一个队列单元,约定队首指针在队尾指针的下一个位置为队满标志

队空:Q.front==Q.rear

队满:Q.front==(Q.rear+1)%MaxSize

队列长度:(Q.rear+MaxSize-Q.front)%MaxSize