力扣622.设计循环队列

力扣622.设计循环队列

  • 在这里插入图片描述

    • 通过数组索引构建一个虚拟的首尾相连的环
    • 当front = rear时 队列为空
    • 当front = rear + 1时 队列为满 (最后一位不存)
  •   class MyCircularQueue {
          int front;
          int rear;
          int capacity;
          vector<int> elements;
      public:
          MyCircularQueue(int k) {
              //最后一位不存元素 多开一个
              capacity = k+1;
              elements = vector<int>(capacity);
              rear = front = 0;
          }
          
          bool enQueue(int value) {
              if(isFull())
                  return false;
              elements[rear] = value;
              rear = (rear + 1) % capacity;
              return true;
          }
          
          bool deQueue() {
              if(isEmpty())
                  return false;
              front = (front + 1) % capacity;
              return true;
          }
          
          int Front() {
              if(isEmpty())
                  return -1;
              return elements[front];
          }
          
          int Rear() {
              if(isEmpty())
                  return -1;
              return elements[(rear - 1 + capacity) % capacity];
          }
          
          bool isEmpty() {
              return rear == front;
          }
          
          bool isFull() {
              return ((rear + 1) % capacity) == front;
          }
      };
    

相关推荐

  1. leetcode:622. 设计循环队列

    2024-07-18 17:42:03       49 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-18 17:42:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-18 17:42:03       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-18 17:42:03       58 阅读
  4. Python语言-面向对象

    2024-07-18 17:42:03       69 阅读

热门阅读

  1. 在 Ubuntu上安装 Docker

    2024-07-18 17:42:03       24 阅读
  2. 爬虫的概念

    2024-07-18 17:42:03       21 阅读
  3. Vim 高手指南:Linux 环境下的高级使用技巧

    2024-07-18 17:42:03       17 阅读
  4. phpinfo

    2024-07-18 17:42:03       21 阅读
  5. 每天一个数据分析题(四百三十四)- t检验

    2024-07-18 17:42:03       22 阅读
  6. python \uxx字符串转中文

    2024-07-18 17:42:03       18 阅读
  7. Qt 中的多线程管理方法详解及示例

    2024-07-18 17:42:03       17 阅读
  8. Qt QJson组装数据Sig传递

    2024-07-18 17:42:03       19 阅读