循环队列的问题,求大神解答
Status Insert_CirQueue(SqQueue Q , ElemType e)/* 将数据元素e插入到循环队列Q的队尾 */
{
if ((Q.rear+1)%MAX_QUEUE_SIZE== Q.front)
return ERROR; /* 队满,返回错误标志 */
Q.Queue_array[Q.rear]=e ; /* 元素e入队 */
Q.rear=(Q.rear+1)% MAX_QUEUE_SIZE ; //这里问题
/* 队尾指针向前移动 */
return OK; /* 入队成功 */
}
上面的函数是:循环队列——顺序存储结构
上面问题处,为什么要加% MAX_QUEUE_SIZE ,前面不是已经判断了不会队列满吗???