基于数组存储形式的循环队列实现
循环队列的基于数组的存储表示亦称为顺序队列,用一个一维数组elem[maxSize]来实现,其中为了区别队列空与满,该数组中最多存储maxSize-1个元素,如此一来,判断循环队列满的条件便是:
(_rear + 1) % maxSize == _rear
而判断循环队列空的条件则是:
_rear == _front
之所以要取模maxSize是为了节省空间否则,已经出队列的空间不能再用。这样,求队列中元素的个数则为:
len = (_rear - _front + maxSize) % maxSize