关于循环队列要注意的

为了更好地区分满队和空队,所以一般在设计队列的时候,留一个空位不存数据。也就是当你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!!

posted @ 2017-09-20 00:24  汪神  阅读(262)  评论(0)    收藏  举报