循环队列

特点

  • 把顺序队列首尾相连
  • 存储队列元素的表从逻辑上看成一个环

    代码实现

    ```java /**

    • @author laoduan
    • @create 2020-03-23-12:41 */ public class ArrayQueueDemo {

      class ArrayQueue {

      1. private int maxSize;// 表示数组的最大容量
      2. private int front;// 队列头
      3. private int rear;// 队列尾
      4. private int[] arr;// 改数据用于存放数据,模拟队列
      5. // 创建队列的构造器
      6. public ArrayQueue(int arrMaxSize) {
      7. maxSize = arrMaxSize;
      8. arr = new int[maxSize];
      9. front = -1;// 指向队列头不,分析出front是指向队列头的前一位置
      10. rear = -1;// 指向对列尾,队列最后一个数据
      11. }
      12. // 判断队列是否满
      13. public boolean isFull() {
      14. return rear == maxSize - 1;
      15. }
      16. public boolean isEmpty() {
      17. return rear == front;
      18. }
      19. // 添加数据到队列
      20. public void addQueue(int n) {
      21. if (isFull()) {
      22. System.out.println("队列满,不能加入数据");
      23. return;
      24. }
      25. rear++;// 让rear后移
      26. arr[rear] = n;
      27. }

      } }

```