[数据结构] 循环队列
front:头指针rear:尾指针maxsize:数组长度
循环队列通常会让留空数组中的一位,区分队列为空和队列为满的状态。
入队移动rear,出队移动front。
形式1(默认):front指向队头元素的前一位,而rear指向队尾元素。
- 队列为空:
front == rear - 队列为满:
front == (rear+1) % maxsize - 元素个数:
(rear-front+maxsize) % maxsize
形式2:front指向队头元素,rear指向队尾元素的后一位。
- 队列为空:
front == rear - 队列为满:
front == (rear+1) % maxsize - 元素个数:
(rear-front+maxsize) % maxsize
形式3:front指向队头元素,rear指向队尾元素。
- 队列为空:
front == (rear+1) % maxsize - 队列为满:
front == (rear+2) % maxsize - 元素个数:
(rear-front+1+maxsize) % maxsize

浙公网安备 33010602011771号