假设队列可能达到的最大长度为MAXSIZE=10,队列为0~9, 若头指针Q.front指向7.尾指针指向3,表长=3-7=-4肯定出错,但是若表长为(3-7+10)%10=4,正确,可以理解为是防止表长为负?
另外,若尾指针指向9,判断队满时,Q.rear+1=10,超出范围,取余后得1,在范围之内
1、判断表长:(Q.rear-Q.front+MAXSIZE)%MAXSIZE
2、判断队满:(队满条件:当队列空间大小为m时,有m-1个元素就算队满)(Q.rear+1)%MAXSIZE=Q.front
3、判断队空:Q.front=Q.rear
(第一次试着在博客上记笔记,希望有效呀,各路大神要是发现我哪里写错啦尽管批评指正!谢谢!!)