循环队列队满的判断
第一种方法是设置一个标志量flag,当front==rear且flag=0时为空,当front==rear且flag=1时 队列 为满;
第二种方法是我们修改条件,保留一个元素空间,也就是说, 数组 中还有一个空闲单元时,我们就认为这个队列已经满了。
接下来我们重点讨论第二种方法,由于rear可能比front大,也可能是比front小,所以尽管他们只相差一个位置时候就是满的情况,但是也可能说是相差整整一圈。所以若队列最大尺寸为QueueSize,那么队列满的条件就是(rear+1)%QueueSize==front(这里取模“%”目的就是为了整合rear与front大小为一个问题)。比如图一所示,QueueSize=5,front=0,rear=4,根据公式(4+1)%5=0,所以此时队列满。
如有侵权请及时联系我们处理,转载请注明出处来自
推荐文章
科技快看 网站地图广州壹创集信息科技有限公司 版权所有 粤ICP备2021122624号