关于循环队列要注意的

为了更好地区分满队和空队,所以一般在设计队列的时候,留一个空位不存数据。也就是当你malloc分配数据的时候,malloc的size要比你那个maxSize(容量)大一个。

length:

因为当rear>=front时,length=rear-front。

但当rear<front时就比较麻烦了,0+rear和Quesize-front即rear-front+Quesize

总的来说记住一个:(rear-front+Quesize)%Quesize    其中Quesize是队列的容量

空队:

rear==front

队列满:

(rear+1)%maxSize==front

没事rear+1记得要%maxSize,这叫循环加1!!

原文地址:https://www.cnblogs.com/wangshen31/p/7555074.html