判定循环队列满的条件为什么不是q->front==q->rear+1而是q->front==(q->rear+1)%maxsize?

2020-04-20 综合 81阅读
因为是循环队列,循环队列的思想是如果队头有空余的位置,则可以把数据插入到队头,从而是一个圈
q->front==q->rear+1明显是一个判定条件,判定当前队列是否已满,当当前队列q->front正好为0,q->rear为(maxsize-1,即整个队列的最后一个),q->rear+1就溢出了,(q->rear+1)%maxsize正好就是0,从而可以判断front和rear+1是不是同一个位置
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com