当前位置: 首页 > news >正文

模拟队列(c++题解)

实现一个队列,队列初始为空,支持四种操作:

  1. push x – 向队尾插入一个数 xx;
  2. pop – 从队头弹出一个数;
  3. empty – 判断队列是否为空;
  4. query – 查询队头元素。

现在要对队列进行 MM 个操作,其中的每个操作 3 和操作 4 都要输出相应的结果。

输入格式

第一行包含整数 M,表示操作次数。

接下来 M 行,每行包含一个操作命令,操作命令为 push xpopemptyquery 中的一种。

输出格式

对于每个 empty 和 query 操作都要输出一个查询结果,每个结果占一行。

其中,empty 操作的查询结果为 YES 或 NOquery 操作的查询结果为一个整数,表示队头元素的值。

数据范围

1≤M≤100000,
1≤x≤109,
所有操作保证合法。

输入样例:

10
push 6
empty
query
pop
empty
push 3
push 4
pop
query
push 6

输出样例:

NO
6
YES
4

_____________________________________________________________________________

一如既往的用数组模拟队列

写作不易,点个赞呗!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

不习惯用

_____________________________________________________________________________ 

题目要求的: 

#include <bits/stdc++.h>
using namespace std;
int que[1000005],a=1,b,n,y;
string x;
void push(int x){将x加入队尾que[++b]=x;
}
void pop(){删除队首a++;
}
void query(){输出队首元素cout<<que[a]<<endl;
}
void empty(){判断队列是否为空if(b-a+1==0)cout<<"YES"<<endl;else cout<<"NO"<<endl;
}
int main(){cin>>n;for(int i=1;i<=n;i++){cin>>x;if(x[0]=='p'&&x[1]=='u'){cin>>y;push(y);}else if(x[0]=='p')pop();else if(x[0]=='q')query();else if(x[0]=='e')empty();}
}

 修改了query并增添了一些功能:

#include <bits/stdc++.h>
using namespace std;
int que[1000005],a=1,b,n,y;a表示对首的位置,b表示队尾的位置
string x;
void push(int x){将x加入队尾que[++b]=x;
}
void pop(){删除队首a++;
}
void front(){输出队首元素cout<<que[a]<<endl;
}
void empty(){判断队列是否为空if(b-a+1==0)cout<<"YES"<<endl;else cout<<"NO"<<endl;
}
void back(){输出对尾cout<<que[b];
}
void size(){返回队列中元素个数cout<<a-b+1;
}
int main(){cin>>n;for(int i=1;i<=n;i++){cin>>x;if(x[0]=='p'&&x[1]=='u'){cin>>y;push(y);}else if(x[0]=='p')pop();else if(x[0]=='f')front();else if(x[0]=='e')empty();else if(x[0]=='b')back();else if(x[0]=='s')size();}
}

 

相关文章:

模拟队列(c++题解)

实现一个队列&#xff0c;队列初始为空&#xff0c;支持四种操作&#xff1a; push x – 向队尾插入一个数 xx&#xff1b;pop – 从队头弹出一个数&#xff1b;empty – 判断队列是否为空&#xff1b;query – 查询队头元素。 现在要对队列进行 MM 个操作&#xff0c;其中的…...

Redis_哨兵模式

9. 哨兵模式 9.1 简介 当主库宕机&#xff0c;在从库中选择一个&#xff0c;切换为主库。 问题: 主库是否真正宕机?哪一个从库可以作为主库使用?如何实现将新的主库的信息通过给从库和客户端&#xff1f; 9.2 基本流程 哨兵主要任务&#xff1a; 监控选择主库通知 会有…...

Mysql中如果建立了索引,索引所占的空间随着数据量增长而变大,这样无论写入还是查询,性能都会有所下降,怎么处理?

索引所占空间的增长确实会对MySQL数据库的写入性能和查询性能造成影响&#xff0c;这主要是由于索引数据过多时会导致磁盘I/O操作变得非常频繁&#xff0c;从而使性能下降。为此&#xff0c;可以采取以下几种方式来减缓这种影响&#xff1a; 1. 限制索引的大小&#xff1a;可以…...

MySQL 约束

查看约束 select * from information_schema.table_constraints where table_name要查看的表名按约束的作用范围 列级约束&#xff1a; 将此约束声明在对应字段的后面 表级约束&#xff1a;在表中所有字段都声明完&#xff0c;在所有字段的后面声明的约束&#xff0c;可以声…...

unity实现角色体力功能【体力条+体力计算】

导读&#xff1a;实现功能 1、角色体力计算 2、角色疲劳动画 3、体力条制作、跟随 默认做好角色的idle/run/walk动画、切换和玩家输入&#xff0c;我使用的是新输入系统&#xff0c;动画时单变量混合树&#xff0c;参数Sports。 【每一部分功能根据自己需求观看哦】 1、角色体…...

【深度学习所有损失函数】在 NumPy、TensorFlow 和 PyTorch 中实现(1/2)

一、说明 在本文中&#xff0c;讨论了深度学习中使用的所有常见损失函数&#xff0c;并在NumPy&#xff0c;PyTorch和TensorFlow中实现了它们。 二、内容提要 我们本文所谈的代价函数如下所列&#xff1a; 均方误差 &#xff08;MSE&#xff09; 损失二进制交叉熵损失加权二进…...

七夕好物分享,哪些礼物适合送男/女朋友?这几款好物最为合适!

七夕是个值得纪念的日子&#xff0c;牛郎织女鹊桥相会的故事百年流传&#xff0c;七夕是一个表达爱意的节日&#xff0c;送礼物是必不可少的&#xff0c;情侣们可以选择一份有意义的礼物&#xff0c;也可以选择对方需要的东西当做礼物来赠送&#xff0c;总的来说&#xff0c;送…...

C语言学习系列-->看淡指针(2)

文章目录 前言一、数组名的理解二、使用指针访问数组三、一维数组传参本质四、二级指针五、指针数组六、指针数组模拟二维数组 前言 不把指针学的扎实&#xff0c;可不敢说自己C语言基础学的好 一、数组名的理解 #include <stdio.h> int main() {int arr[10] { 1,2,3,4…...

Java基础篇--Character 类

Character 类是用来操作单个字符的&#xff0c;它将 char 值包装在一个对象中。 实际上&#xff0c;在 Java 中&#xff0c;char 是基本数据类型&#xff0c;而 Character 是 char 的包装类。通过 Character 类&#xff0c;可以使用一系列方法来操作字符。在创建 Character 对…...

Flutter参考资料

Flutter 官网 : https://flutter.dev/ Flutter 插件下载地址 : https://pub.dev/packages Flutter 开发文档 : https://flutter.cn/docs ( 强烈推荐 ) 官方 GitHub 地址 : https://github.com/flutter Flutter 中文社区 : https://flutter.cn/ Flutter 实用教程 : https://flut…...

sed命令如何正确修改ini配置文件

需要保证key值的唯一性 function sed_key_value_file(){key$(echo "$1" | sed s/[\/&]/\\&/g)value$(echo "$2" | sed s/[\/&]/\\&/g)# 先删除原有的value&#xff0c;然后添加新的keyvaluesed -i -e "s#${key}.*#${key}${value}#&q…...

【新版系统架构补充】-信息系统基础知识

信息系统 信息系统的5个基本功能&#xff1a;输入、存储、处理、输出和控制 信息系统的分类&#xff08;低级到高级&#xff09;&#xff1a;业务&#xff08;数据&#xff09;处理系统&#xff08;TPS/DPS&#xff09;、管理信息系统&#xff08;MIS&#xff09;、决策支持系…...

安防监控视频汇聚平台EasyCVR分发的FLV视频流在VLC中无法播放是什么原因?

众所周知&#xff0c;TSINGSEE青犀视频汇聚平台EasyCVR可支持多协议方式接入&#xff0c;包括主流标准协议国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。在视频流的处理与分发上&#xff0c;视频监控…...

前端遇到的面试题

1.水平垂直居中 绝对定位 transform position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);绝对定位 margin(子元素宽高知道的情况下) position:absolute; top:50%; left:50%; margin-top:-100px; margin-left:-100px;绝对定位 margin:auto position:a…...

abbitmq启动访问不了http://localhost:15672 通过修改服务登录admin

abbitmq默认的对Administration授权&#xff0c;而我的用户不是默认的Administration&#xff0c;所以后来打开服务&#xff0c;找到rabbitmq服务&#xff0c;属性&#xff0c;登陆&#xff0c;将本地系统账户修改为此账户&#xff0c;修改完成之后再重启服务&#xff0c;这时候…...

换架 3D 飞机,继续飞呀飞

相信大多数图扑 HT 用户都曾见过这个飞机的 Demo&#xff0c;在图扑发展的这十年&#xff0c;这个 Demo 是许多学习 HT 用户一定会参考的经典 Demo 之一。 这个 Demo 用简洁的代码生动地展示了 OBJ 模型加载、数据绑定、动画和漫游等功能的实现。许多用户参考这个简单的 Demo 后…...

js ?? || 使用方法

平时很常用的就是||,比如调用接口的时候&#xff0c;接口报错了需要给个默认值 const data(await getData())||{};今天遇到了一个场景&#xff0c;正常后端返回的就是false&#xff0c;如果接口报错要默认设置成true&#xff0c;但如果用了 || &#xff0c;如下&#xff0c;那…...

i茅台自动申购算法协议分析

首发地址:http://zhuoyue360.com/crack/104.html 一、引言 今日看到有人分享了i茅台自动申购的文章。但是它酷似引流文章&#xff0c;全文一张图&#xff0c;呜呜呜。无法白嫖。太可恶了&#xff0c;因此&#xff0c;我来啦~ 我来整一整&#xff0c;我也要抢茅子&#xff01; …...

【HarmonyOS】Java如何引用外部jar包

【关键字】 Java、引用jar包​ 【写在前面】 使用API6和API7开发HarmonyOS应用时&#xff0c;因为应用中只能引用SDK中开放的功能接口&#xff0c;但是部分jdk自带的接口功能在SDK中并未封装&#xff0c;要想在工程中使用jdk开放的接口功能&#xff0c;需要将jdk中的jar包通过…...

vue在线编辑表格导入导出

npm i file-saver npm i exceljs npm i luckyexcelindex.html &#xff08;方式一在html中引入&#xff09; <link relstylesheet hrefhttps://cdn.jsdelivr.net/npm/luckysheetlatest/dist/plugins/css/pluginsCss.css /><link relstylesheet hrefhttps://cdn.jsde…...

OpenGL新手必看:glUniformMatrix4fv参数transpose为什么必须用GL_FALSE?

OpenGL矩阵传递的底层逻辑&#xff1a;为什么glUniformMatrix4fv的transpose必须设为GL_FALSE&#xff1f; 第一次接触OpenGL着色器编程时&#xff0c;很多人都会对glUniformMatrix4fv函数中那个看似多余的transpose参数感到困惑。为什么这个参数在99%的情况下都必须设置为GL_F…...

采用深度学习方法进行图像缺陷检测_使用ResNet50预训练模型来对 太阳能电池板缺陷数据集 12类的缺陷类型进行检测

采用深度学习方法进行图像缺陷检测_使用ResNet50预训练模型来对 太阳能电池板缺陷数据集 12类的缺陷类型进行检测 文章目录1. 数据理解与准备加载和解析XML标签文件2. 数据预处理图像预处理3. 模型选择与训练4. 模型评估与优化5. 测试与推理特定缺陷类型的处理太阳能电池板缺陷…...

抖音无水印下载工具:从零开始构建你的个人视频资源库

抖音无水印下载工具&#xff1a;从零开始构建你的个人视频资源库 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback suppor…...

别再手动写UI头文件了!Qt Designer的.ui文件一键生成.h的保姆级教程(附uic命令详解)

别再手动写UI头文件了&#xff01;Qt Designer的.ui文件一键生成.h的保姆级教程&#xff08;附uic命令详解&#xff09; 在Qt开发中&#xff0c;界面设计与业务逻辑分离是提高开发效率的关键。然而&#xff0c;很多开发者在使用Qt Designer完成界面设计后&#xff0c;仍然手动编…...

近10亿融资后估值破百亿,普渡机器人凭何成全球商用服务机器人双料龙头?

近10亿融资&#xff0c;顶级资本矩阵加持普渡机器人近日&#xff0c;全球商用服务机器人领军企业普渡机器人完成近10亿元新一轮融资&#xff0c;由龙岗金控、亚投资本联合领投&#xff0c;北汽产投、蓝思科技、弘晖基金等共同参与。本轮融资后&#xff0c;公司估值突破百亿元人…...

Ofd2Pdf终极指南:5分钟掌握OFD转PDF的3种高效方法

Ofd2Pdf终极指南&#xff1a;5分钟掌握OFD转PDF的3种高效方法 【免费下载链接】Ofd2Pdf Convert OFD files to PDF files. 项目地址: https://gitcode.com/gh_mirrors/ofd/Ofd2Pdf 在数字办公时代&#xff0c;OFD作为中国自主的电子文档格式标准&#xff0c;在政务、金融…...

超神编辑器Lapce:游戏开发效率提升300%的秘密武器

超神编辑器Lapce&#xff1a;游戏开发效率提升300%的秘密武器 【免费下载链接】lapce Lightning-fast and Powerful Code Editor written in Rust 项目地址: https://gitcode.com/GitHub_Trending/la/lapce Lapce是一款用Rust编写的闪电般快速且功能强大的代码编辑器&am…...

【YOLOv11】035、YOLOv11在移动端部署:NCNN与MNN实战踩坑笔记

一、从真机闪退开始说起 上周三深夜,测试同事扔过来一台Android设备,屏幕上赫然是熟悉的“App has stopped”。日志里只有一行模糊的memory allocation failure,但PC端模拟器明明跑得顺畅。这就是移动端部署的典型开场——模型在服务器上精度再高,到了真机上可能就是另一回…...

免费开源CAD绘图工具LitCAD:从零开始掌握专业二维绘图

免费开源CAD绘图工具LitCAD&#xff1a;从零开始掌握专业二维绘图 【免费下载链接】LitCAD A very simple CAD developed by C#. 项目地址: https://gitcode.com/gh_mirrors/li/LitCAD 想要学习CAD绘图却对昂贵的商业软件望而却步&#xff1f;LitCAD正是为你量身打造的免…...

【2026收藏版】转行成为一名机器学习工程师,可行吗?(小白/程序员必看)

2026年&#xff0c;大模型技术持续爆发&#xff0c;机器学习工程师成为AI领域最热门的岗位之一&#xff0c;很多小白、传统行业从业者甚至在岗程序员&#xff0c;都在犹豫&#xff1a;零基础/跨行业&#xff0c;转行成为机器学习工程师&#xff0c;到底可行吗&#xff1f; 国外…...