循环队列的元素个数计算公式:如果rear<front结果是rear-front+maxsize;如果rear>front结果是rear-front;为了用一个表达式同时表达两者,用(rear-front+maxsize)%maxsize;假设maxsize=10;rear=1 front=9,那么结果是2;rear=9 front=1,那么结果是8。
Q[0:m]是 首先 队列一开始是 front = rear = m,所有队列都是x,表示无效数据。【1】【2】【3】【4】...【m-1】【m】【x】【x】【x】【x】...【x 】【 x 】如果插入一个数据 【a】表示有效数据 那么 front = 1, rear = m 【1】【2】【3】【4】...【m-1】【m】【...
<= front时,元素个数为rear-front+capacity 综上述两种情况,可得元素个数为(rear-front+capacity)%capacity,其中capacity表循环队列容量。
队列一开始是 front = rear = m,所有队列都是x,表示无效数据。【1】【2】【3】【4】...【m-1】【m】【x】【x】【x】【x】...【x 】【x 】如果插入一个数据 【a】表示有效数据 那么 front = 1,rear = m 【1】【2】【3】【4】...【m-1】【m】【a】【x】【x】【x】.....