严蔚敏的数据结构书上63页倒数第二段定义了判定队列空间是空还是满的方法:少用一个元素空间,判定队列呈“满”状态的标志是“队列头指针在队列尾指针的下一位置上(指环状的下一位置)”


意思就是说,循环队列留了一个元素空间,即当maxsize=100的时候,实际能存的数据只有99个,留一个不存的目的就是用来区分队列空还是满。因为空的时候q.rear=q.front,而满的时候就变成了(q.rear+1)%maxsize=q.front。 如果判定条件是q.rear%maxsize=q.front,就是判定头指针和尾指针是否在同一个位置上 如果判定条件是(q.rear+1)%maxsize=q.front,就是判定头指针在尾指针的下一个位置上


其他还有设置标记位的方法