c++ queue容器

news2024/11/19 11:21:56

在C++标准库中,std::queue 是一个容器适配器,它提供了队列(FIFO - First In First Out)的数据结构。队列是一种特殊的线性数据结构,只允许在表的前端(front)进行删除操作,而在表的后端(back)进行插入操作。

std::queue 并不是直接存储元素的容器,而是对底层容器(如 std::deque 或 std::list)的封装,提供了队列的接口。默认情况下,std::queue 使用 std::deque 作为其底层容器

以下是如何使用 std::queue 的基本示例:

#include <iostream>  
#include <queue>  
  
int main() {  
    // 创建一个int类型的队列  
    std::queue<int> q;  
  
    // 向队列中添加元素(在尾部插入)  
    q.push(1);  
    q.push(2);  
    q.push(3);  
  
    // 检查队列是否为空  
    if (!q.empty()) {  
        // 访问队列的头部元素(但不删除)  
        std::cout << "Front element: " << q.front() << std::endl;  
  
        // 访问队列的大小  
        std::cout << "Queue size: " << q.size() << std::endl;  
  
        // 从队列中删除元素(从头部删除)  
        q.pop();  
  
        // 再次访问队列的头部元素  
        std::cout << "Front element after pop: " << q.front() << std::endl;  
    }  
  
    // 显示队列中的所有元素  
    while (!q.empty()) {  
        std::cout << ' ' << q.front();  
        q.pop();  
    }  
    std::cout << std::endl;  
  
    return 0;  
}

 

在这个示例中,我们首先创建了一个 std::queue<int> 类型的队列 q。然后,我们使用 push 方法向队列中添加了一些元素。我们使用 front 方法访问队列的头部元素,并使用 pop 方法从队列中删除元素。最后,我们使用一个循环来打印并删除队列中的所有元素。

注意:尽管你可以使用 back 方法来访问队列的尾部元素,但 std::queue 并没有提供从尾部删除元素的方法,因为队列不支持这样的操作。如果你需要这样的功能,你可能需要考虑使用其他类型的容器,如 std::deque 或 std::list

最后提供一张图供大家参考

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1683423.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

做抖音小店找带货达人合作为什么不成功呢?

大家好&#xff0c;我是喷火龙。 做抖音小店&#xff0c;和带货达人合作的模式&#xff0c;流量是最稳定的&#xff0c;爆单几率也是最大的&#xff0c;也是最适合新手商家的&#xff0c;想和带货达人合作&#xff0c;那肯定是得让达人带你的产品的。 但有些朋友把样品寄给达…

【Linux】-Linux文件的上传和下载、压缩和解压[9]

目录 前言 一、上传和下载 1、使用finalshell对Linux系统进行上传下载 2、rz、sz命令 二、解压和压缩 1、压缩格式 2、tar命令压缩 3、tar命令压缩 4、zip命令压缩文件 5、unzip命令解压文件 前言 在Linux系统中&#xff0c;文件的上传和下载、压缩和解压是非常重要…

面向浏览器端免费开源的三维可视化编辑器,包含BIM轻量化,CAD解析预览等特色功能。

ES 3DEditor &#x1f30d;Github地址 https://github.com/mlt131220/ES-3DEditor &#x1f30d;在线体验 https://editor.mhbdng.cn/#/ 基于vue3与ThreeJs&#xff0c;具体查看Doc 主要功能&#xff1a; 模型导入展示&#xff0c;支持OBJ、FBX、GLTF、GLB、RVT、IFC、SEA、3…

FedSyn: Synthetic Data Generation using Federated Learning

arxiv2022,没找到是哪个刊物的,是没投中吗? 这篇是用GAN做数据生成,每个client都训练一个生成器,加噪声传到server端聚合,实验是衡量生成图片的质量。 论文地址:arxiv code:没找到 贡献 提出了提出了一种新颖的方法(FedSyn ),将联邦学习、使用 GAN的合成数据生成…

使用 ASM 修改字段类型,解决闪退问题

问题 我的问题是什么&#xff1f; 在桥接类 UnityBridgeActivity 中处理不同 unity 版本调用 mUnityPlayer.destroy(); 闪退问题。 闪退日志如&#xff1a; 闪退日志说在 UnityBridgeActivity中找不到类型为 UnityPlayer 的属性 mUnityPlayer。 我们知道&#xff0c;Android…

深度学习之Pytorch框架垃圾分类智能识别系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 随着城市化进程的加快和人们环保意识的提高&#xff0c;垃圾分类已成为城市管理的重要一环。然而&am…

【Linux学习】进程

下面是有关进程的相关介绍&#xff0c;希望对你有所帮助&#xff01; 小海编程心语录-CSDN博客 目录 1. 进程的概念 1.1 进程与程序 1.2 进程号 2. 进程的状态 2.1 fork创建子进程 2.2 父子进程间的文件共享 3. 进程的诞生与终止 3.1 进程的诞生 3.2 进程的终止 1. 进…

[4]CUDA中的向量计算与并行通信模式

CUDA中的向量计算与并行通信模式 本节开始&#xff0c;我们将利用GPU的并行能力&#xff0c;对其执行向量和数组操作讨论每个通信模式&#xff0c;将帮助你识别通信模式相关的应用程序&#xff0c;以及如何编写代码 1.两个向量加法程序 先写一个通过cpu实现向量加法的程序如…

算法刷题day52:区间DP

目录 引言一、石子合并二、环形石子合并三、能量项链四、加分二叉树 引言 关于区间DP&#xff0c;我其实觉得核心思想就是把一个区间拆分为任意两个区间&#xff0c;相当于是模拟枚举全部这种区间组合的过程&#xff0c;然后从中寻求最优解&#xff0c;本质上的思想不难&#…

PLC工程师按这个等级划分是否靠谱?

在工业自动化领域&#xff0c;PLC工程师扮演着至关重要的角色&#xff0c;他们负责构建、维护自动化系统&#xff0c;推动工业4.0进程的发展。成为一名优秀的PLC工程师需要经历不同境界的发展阶段&#xff0c;每个阶段都对应着不同的技能要求和责任。以下是PLC工程师的六种级别…

必应bing国内推广开户,全方位必应广告开户流程介绍!

在所有获客渠道中&#xff0c;搜索引擎广告成为企业扩大品牌影响力、精准触达目标客户的关键途径之一。作为全球领先的搜索引擎之一&#xff0c;必应&#xff08;Bing&#xff09;拥有庞大的用户群体和独特的市场优势&#xff0c;是企业不可忽视的营销阵地。云衔科技&#xff0…

声音转文本(免费工具)

声音转文本&#xff1a;解锁语音技术的无限可能 在当今这个数字化时代&#xff0c;信息的传递方式正以前所未有的速度进化。从手动输入到触控操作&#xff0c;再到如今的语音交互&#xff0c;技术的发展让沟通变得更加自然与高效。声音转文本&#xff08;Speech-to-Text, STT&…

微服务:利用RestTemplate实现远程调用

打算系统学习一下微服务知识&#xff0c;从今天开始记录。 远程调用 调用order接口&#xff0c;查询。 由于实现还未封装用户信息&#xff0c;所以为null。 下面我们来使用远程调用用户服务的接口&#xff0c;然后封装一下用户信息返回即可。 流程图 配置类中注入RestTe…

SAP销售手工发票录入

销售手工发票录入用于处理未启用 SD 模块标准处理流程的零星销售业务。 科目设置 收入类科目&#xff1a;设置税务类型&#xff0c;允许含税/不含税过账应收账款: 留空。其他应收款的设置类似 编辑选项设置 在中国&#xff0c;编辑选项一般设置为基于总额计税。使用事务码 FB…

Jenkins 构建 Web 项目:项目和服务器在一起的情况

构建的命令 node -v pnpm -v pnpm install pnpm build # 将dist打包成dist.zip zip -r dist.zip dist mv dist.zip /www/wwwroot/video.xxx.com/dist.zip cd /www/wwwroot/video.xxx.com # 解压并覆盖之前的文件 unzip -o dist.zip

期货学习笔记-横盘行情学习1

横盘行情的特征及分类 横盘行情的概念 横盘行情时中继形态的一种&#xff0c;一般常出现在大涨或大跌之后出现横盘行情是对当前趋势行情的修正&#xff0c;是对市场零散筹码的清理&#xff0c;是为了集中筹码更便于后期行情的展开 横盘行情的特征 1.水平运动&#xff1a;该…

1-4月我国5G用户、流量占比均过半,呈现平稳增长态势!

1-4月份&#xff0c;通信行业整体运行平稳。电信业务量收平稳增长&#xff1b;5G、千兆光网等新型基础设施建设持续推进&#xff0c;网络连接用户规模不断扩大&#xff0c;移动互联网接入流量较快增长。 一、总体运行情况 电信业务收入稳步增长&#xff0c;电信业务总量增速保持…

OpenAI宫斗剧番外篇: “Ilya与Altman联手对抗微软大帝,扫除黑恶势力”,“余华”和“莫言”犀利点评

事情是这样的。 小编我是一个重度的智谱清言用户&#xff0c;最近智谱清言悄悄上线了一个“划词引用”功能后&#xff0c;我仿佛打开了新世界的大门。我甚至用这个小功能&#xff0c;玩出来了即将为你上映的《OpenAI宫斗剧番外篇》。 3.5研究测试&#xff1a;hujiaoai.cn 4研…

别说废话!说话说到点上,项目高效沟通的底层逻辑揭秘

假设你下周要在领导和同事面前汇报项目进度&#xff0c;你会怎么做&#xff1f;很多人可能会去网上搜一个项目介绍模板&#xff0c;然后按照模板来填充内容。最后&#xff0c;汇报幻灯片做了 80 页&#xff0c;自己觉得非常充实&#xff0c;但是却被领导痛批了一顿。 这样的境…

番外篇 | YOLOv8改进之引入YOLOv9的RepNCSPELAN4模块 | 替换YOLOv8的C2f

前言:Hello大家好,我是小哥谈。YOLOv9,作为YOLO(You Only Look Once)系列的最新成员,代表着实时物体检测技术的又一重要里程碑。自YOLO系列算法诞生以来,它就以其出色的性能和简洁的设计思想赢得了广泛的关注和认可。从最初的YOLOv1到如今的YOLOv9,这个系列不断地进行技…