循环队列(循环数组)中元素个数的计算

队列头指针为front,队列尾指针为rear(指向队尾元素),after_rear为队尾元素的后一位置(按顺时针方向),队列容量为maxsize

 

如果用 front == rear 来表示队列为空,也就是说front和rear指向同一个位置,那么:

队列满时:(rear+1) mod maxsize == front

队列中元素个数为:(rear-front+maxsize) mod maxsize

 

如果用 rear == (front-1+maxsize) mod maxsize 来表示队列为空,也就是说front指向rear的下一个位置,那么:

队列满时:(after_rear+1) mod maxsize == front

队列中元素个数为:(after_rear–front+maxsize) mod maxsize

    原文作者:ITtecman
    原文地址: https://www.cnblogs.com/nufangrensheng/p/3956945.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞