Leetcode—622. 设计循环队列【中等】

2024每日刷题(128)

Leetcode---622. 设计循环队列

实现代码

cpp 复制代码
class MyCircularQueue {
public:
    MyCircularQueue(int k): q(k) {
        qSize = k;
    }
    
    bool enQueue(int value) {
        if(isFull()) {
            return false;
        }
        q[rear] = value;
        rear = (rear + 1) % qSize;
        deflag = false;
        enflag = true;
        return true;
    }
    
    bool deQueue() {
        if(isEmpty()) {
            return false;
        }
        front = (front + 1) % qSize;
        deflag = true;
        enflag = false;
        return true;
    }
    
    int Front() {
        if(isEmpty()) {
            return -1;
        }
        return q[front];
    }
    
    int Rear() {
        if(isEmpty()) {
            return -1;
        }
        return q[(rear - 1 + qSize) % qSize];
    }
    
    bool isEmpty() {
        if(deflag && front == rear) {
            return true;
        }
        if(enflag == false && rear == 0 && deflag == false) {
            return true;
        }
        return false;
    }
    
    bool isFull() {
        if(enflag && front == rear) {
            return true;
        }
        return false;
    }

private:
    vector<int> q;
    int qSize = -1;
    int front = 0;
    int rear = 0;
    int enflag = false;
    int deflag = false;
};

/**
 * Your MyCircularQueue object will be instantiated and called as such:
 * MyCircularQueue* obj = new MyCircularQueue(k);
 * bool param_1 = obj->enQueue(value);
 * bool param_2 = obj->deQueue();
 * int param_3 = obj->Front();
 * int param_4 = obj->Rear();
 * bool param_5 = obj->isEmpty();
 * bool param_6 = obj->isFull();
 */

运行结果

之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

相关推荐
我是一只小青蛙888几秒前
C++核心过渡:类与对象精讲
开发语言·c++
不知名XL1 分钟前
day25 贪心算法 part03
算法·贪心算法
顾林海4 分钟前
Android登录模块设计:别让“大门”变成“破篱笆”
android·经验分享·面试·架构·移动端
玖釉-5 分钟前
Windows 下 VS2022 编译运行 Khronos Vulkan Samples 全避坑指南
c++·windows·图形渲染
期待のcode12 分钟前
Java虚拟机的垃圾回收器
java·开发语言·jvm·算法
星火开发设计16 分钟前
C++ 分支结构:if-else 与 switch-case 的用法与区别
开发语言·c++·学习·算法·switch·知识·分支
txzrxz18 分钟前
数据结构有关的题目(栈,队列,set和map)
数据结构·c++·笔记·算法··队列
2401_8612775520 分钟前
上海哪些海洋公园可以触摸海洋动物
经验分享
Two_brushes.24 分钟前
C++ 常见特殊类的设计(含有单例模式)
开发语言·c++
CoderCodingNo29 分钟前
【GESP】C++五级练习题(前缀和) luogu-P1114 “非常男女”计划
数据结构·c++·算法