请问这句话是啥意思?一个简单问题...

if(front==(rear+1)%MAXSIZE
这是循环队列入队操作的算法中的一句,是一个判定条件。不太懂百分号的含义,还有请通俗的说一下~谢谢咯
if(front==(rear+1)%MAXSIZE)少了半个括号。这句话是什么意思呢? 没有错。。

因为在循环队列中,当队尾指针加1(即rear+1)可能会超过
最大队列长度(MAXSIZE),通过求余运算就可以使rear+1在0--MAXSIZE
范围内。比如循环队列的地址为0 1 2 3 4 5 ,front为0,rear为5,当rear
加上1后为6超过了0---5的围,因为是循环队列,本来应该是从0到5,而5过
后接着是0,通过(rear+1)%MAXSIZE,即(5+1)%6=0,就可以实现。
if(front==(rear+1)%MAXSIZE)未少括号,(rear+1)是一个整体,而%
的优先级高于==,所以(rear+1)先与MAXSIZE结合,即先算(rear+1)%MAXSIZE,
然后是front == (rear+1)%MAXSIZE,由此式得到的值为0或1,然后再执行
if( 表达式的值 )。这句话的意思是,判断队头和队尾是否相等,
即判断队列是否已满
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-08-22
这个是求余运算,这个没有少括号啊。。。
你没有搞错吧。。。。
第2个回答  2010-08-21
%求余数.例如a=9%2那么a=1. 9/2的余数是1
第3个回答  2010-08-21
“%”号是求余的意思。