队列头指针为front,队列尾指针为rear(指向队尾元素),after_rear为队尾元素的后一位置(按顺时针方向),队列容量为maxsize
如果用 front == rear 来表示队列为空,也就是说front和rear指向同一个位置,那么:
队列满时:(rear+1) mod maxsize == front
队列中元素个数为:(rear-front+maxsize) mod maxsize
如果用 rear == (front-1+maxsize) mod maxsize 来表示队列为空,也就是说front指向rear的下一个位置,那么:
队列满时:(after_rear+1) mod maxsize == front
队列中元素个数为:(after_rear–front+maxsize) mod maxsize