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

news/2025/1/15 21:52:43/

2024每日刷题(128)

Leetcode—622. 设计循环队列

在这里插入图片描述

实现代码

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();*/

运行结果

在这里插入图片描述

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


http://www.ppmy.cn/news/1458779.html

相关文章

Linux中gcc/g++的使用

文章目录 前言gcc/g 前言 gcc和g即为编译器。其中gcc为c语言的编译器&#xff0c;只能编译c语言&#xff1b;g为c的编译器&#xff0c;既能编译c语言&#xff0c;又能编译c。 在前面的文章中&#xff0c;我们提到代码转换成可执行程序需要经过 预处理&#xff08;进行宏替换)…

php使用Canal监听msyql

canal需要java8 去官网下载java8 安装JAVA #创建目录 mkdir -p /usr/local/java/ #解压到目录 tar zxvf jdk-8u411-linux-x64.tar.gz -C /usr/local/java/配置环境变量在 /etc/profile 最后加入 export JAVA_HOME/usr/local/java/jdk1.8.0_411 export CLASSPATH.:$JAVA_HOM…

NFS共享存储服务配置实践

一、NFS 1.NFS定义 NFS&#xff08;Network File System&#xff09;网络文件服务&#xff1a;基于TCP/IP传输的网络文件系统协议&#xff0c;NFS服务的实现依赖于RPC&#xff08;Remote Process Call&#xff09;远端过程调用&#xff1a;通过使用NFS协议&#xff0c;客户机…

【设计模式】单例模式的前世今生

文章目录 引言简介起航&#xff01;向“确保某个类在系统中只有一个实例”进发 ⛵️Lazy SingletonDouble-checked locking&#xff08;DCL&#xff09; SingletonVolatile SingletonAtomic SingletonMeyers Singleton 附&#xff1a;C静态对象的初始化 引言 说起单例模式&…

校友录系统的设计与开发

**中文摘要&#xff1a;**随着互联网技术的不断发展和普及&#xff0c;人们对于信息化、数字化的需求也越来越高。在此背景下&#xff0c;校友录系统的设计与开发显得尤为重要。本文旨在设计和开发一款方便实用的校友录系统&#xff0c;为学校提供一个联系和管理校友的平台&…

设计模式——建造者模式(Builder)

建造者模式&#xff08;Builder Pattern&#xff09;是一种对象构建的设计模式&#xff0c;它允许你以一种逐步构建的方式来创建复杂对象。建造者模式通常用于构建具有多个组成部分的对象&#xff0c;并且这些组成部分通常具有不同的构建和表示方式。 建造者模式主要包括以下几…

Java毕设之基于springboot的医护人员排班系统

运行环境 开发语言:java 框架:springboot&#xff0c;vue JDK版本:JDK1.8 数据库:mysql5.7(推荐5.7&#xff0c;8.0也可以) 数据库工具:Navicat11 开发软件:idea/eclipse(推荐idea) 系统详细实现 医护类型管理 医护人员排班系统的系统管理员可以对医护类型添加修改删除以及…

2024/5/9 QTday4

完成定时器制作 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);connect(&timer2, &QTimer::timeout, this, &Widget::label_begin);connect(&…