跳到主要内容

二、队列的顺序存储(循环队列)

顺序存储的队列若直接采用普通数组实现,会出现“假溢出”问题,因此引入循环队列优化空间利用。

1. 循环队列的核心原理

循环队列通过取模运算让队列首尾相连,解决普通顺序队列的空间浪费问题,其核心指针规则如下:

  • 初始化时,front(队头指针)和rear(队尾指针)均指向0
  • 队满条件:(Q.rear + 1) % MaxSize == Q.front(预留一个空位置避免队空和队满条件混淆)
  • 队空条件:Q.rear == Q.front
  • 入队时队尾指针后移:Q.rear = (Q.rear + 1) % MaxSize
  • 出队时队头指针后移:Q.front = (Q.front + 1) % MaxSize

2. 循环队列完整实现代码

C++
Output:
Click "Run" to see output...

3. 运行结果

队头元素:10
出队元素:10
当前front:1,当前rear:3

💬 留下你的问题或见解