读书人

在循环队列中为什么要求模啊解决思路

发布时间: 2012-04-07 17:31:52 作者: rapoo

在循环队列中为什么要求模啊?
如 Q.rear=(Q.rear+1)%Q.queuesize; 为什么不能直接写Q.rear=(Q.rear+1)啊?

[解决办法]
便于解决由最大下标位置移到到0下标时的越界处理。如果不取余:rear+1=59+1=60,数组中最大下标为59而无60显然不取余是不对的取余后:
[解决办法]
(rear+1)mod%Maxlength=(59+1)mod%60=60mod%60=0,而front=0,因此可以构成判断
详见,很详细的,希望对楼主有所帮助
http://tieba.baidu.com/f?kz=50474238

读书人网 >C语言

热点推荐