[数据结构] 循环队列

  • front:头指针
  • rear:尾指针
  • maxsize:数组长度

循环队列通常会让留空数组中的一位,区分队列为空和队列为满的状态。

入队移动rear,出队移动front

形式1(默认)front指向队头元素的前一位,而rear指向队尾元素。

image-20240902224635100
  • 队列为空:front == rear
  • 队列为满:front == (rear+1) % maxsize
  • 元素个数:(rear-front+maxsize) % maxsize

形式2front指向队头元素,rear指向队尾元素的后一位。

image-20240902224858614
  • 队列为空:front == rear
  • 队列为满:front == (rear+1) % maxsize
  • 元素个数:(rear-front+maxsize) % maxsize

形式3front指向队头元素,rear指向队尾元素。

image-20240902225133106
  • 队列为空:front == (rear+1) % maxsize
  • 队列为满:front == (rear+2) % maxsize
  • 元素个数:(rear-front+1+maxsize) % maxsize
posted @ 2024-09-02 22:55  feixianxing  阅读(34)  评论(0编辑  收藏  举报