Linux C++ 029-STL之queue容器

Linux C++ 029-STL之queue容器

本节关键字:Linux、C++、queue
相关库函数:push、pop、back、front

在这里插入图片描述

queue基本概念

概念:queue是一种先进先出(First In Fisrst Out,FIFO)的数据结构,它有两个端口
关键词:push(); pop(); front(); back(); 队尾,队头

特点:
(1)队列容器允许从一端新增元素,从另一端移除元素
(2)队列中只有队头和队尾才可以被外界使用,因此队列不允许有遍历行为
(3)队列中进数据的过程称为 入队(push)
(4)队列中出数据的过程称为 出队(pop)

queue常用接口

功能描述:队列容器常用的对外接口
构造函数:

#include <queue>
queue<T> que;				//queue采用模板类实现,queue对象的默认构造函数
queue(const queue &que);	//拷贝构造函数
赋值操作:
queue& operator=(const queue &que);	//重载等号操作符
数据存取:
push(elem);	//往队尾添加元素
pop();		//从队头移除第一个元素
back();		//返回最后一个元素
front();	//返回第一个元素
大小操作:
empty();	//判断队列是否为空
size();		//返回栈大小

示例:

#include <queue>class Person
{
public:Person(string name, int age){this->m_Name = name;this->m_Age = age;}string m_Name;int m_Age;
};
void test01()
{queue<Person> q;Person p1("唐僧", 100);Person p2("孙悟空", 1000);Person p3("猪八戒", 800);Person p4("沙僧", 700);//入队q.push(p1);q.push(p2);q.push(p3);q.push(p4);//判断 - 只要队列不为空, 查看队头 查看队尾,出队while( !q.empty() ){cout << "队头元素_姓名:" << q.front().m_Name << "队头元素_年龄:" << q.front().m_Age << endl;cout << "队尾元素_姓名:" << q.back().m_Name << "队尾元素_年龄:" <<q.back().m_Age << endl;pop();}q.size();
}

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

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

相关文章

即插即用篇 | YOLOv5/v7引入Haar小波下采样 | 一种简单而有效的语义分割下采样模块

本改进已集成到 YOLOv5-Magic 框架。 下采样操作如最大池化或步幅卷积在卷积神经网络(CNNs)中被广泛应用,用于聚合局部特征、扩大感受野并减少计算负担。然而,对于语义分割任务,对局部邻域的特征进行池化可能导致重要的空间信息丢失,这有助于逐像素预测。为了解决这个问题…

OpenCV 学习笔记2 C++

1.图像直方图 直方图&#xff08;Histogram&#xff09;是图像处理中常用的工具&#xff0c;它表示图像中每个像素强度值的分布情况。在OpenCV中&#xff0c;可以使用 cv::calcHist 函数来计算图像的直方图。 图像直方图是一种展示图像像素强度分布的统计图表。它显示了图像中…

ES学习日记(十一)-------Java操作ES之基本操作

前言 此篇博客还是一些基础操作&#xff0c;没什么可写的&#xff0c;需要的同学直接抄作业进行测试就可以 上一节写了连接和测试新增操作,这一节写java操作ES的基本操作,也就是增删改查,在这里补充一点知识,我们之前用了指定的索引进行指定添加 有一个情况是,如果我们指定了…

企微自建应用开发-注意事项

1、错误48002 api forbidden&#xff0c;接口无权限 1.1添加ip白名单&#xff0c;ip地址以企微返回值为准 1.2按照规则添加相应权限&#xff0c;例如&#xff1a;【联系我】二维码接口 2、错误60011 no privilege to access/modify contact/party/agent 2.2修改应用可见范围&am…

韩顺平 | 零基础快速学Python(2)

数据容器 容器collections&#xff1a;一种数据类型。可以存放多个数据/元素&#xff0c;可以是任意类型。 相关内置函数函数&#xff1a; round(number, ndigitsNone) 返回number舍入到小数点后ndigits位精度的值&#xff0c;若被省略或为None&#xff0c;则返回最接近如输入…

Java调用WebService,HttpBasicAuth鉴权,wsimport,cxf通通走开

调用webservice接口有好多种方式&#xff0c;比如wsimport生成呀&#xff0c;CXF&#xff0c;JAX-WS&#xff0c;尝试过以后都是各种步骤&#xff0c;各种注意&#xff0c;特别加上鉴权方式不同&#xff0c;搞的复杂N倍&#xff0c;还难排查问题&#xff0c;如果你用到其中某种…

文件下载本地

1、不管什么格式的文件都需要转为字节数组 byte[] 2、再转为各种格式文件的的输出流 3、再转为文件输出流写入本地 注意File生成目录 FileOutputStream为具体全称。

C++ | Leetcode C++题解之第19题删除链表的倒数第N个结点

题目&#xff1a; 题解&#xff1a; class Solution { public:ListNode* removeNthFromEnd(ListNode* head, int n) {ListNode* dummy new ListNode(0, head);ListNode* first head;ListNode* second dummy;for (int i 0; i < n; i) {first first->next;}while (fi…

【产品】ADW300 无线计量仪表 用于计量低压网络的三相有功电能

1 概述 ADW300 无线计量仪表主要用于计量低压网络的三相有功电能&#xff0c;具有体积小、精度高、功能丰富等优点&#xff0c;并且可选通讯方式多&#xff0c;可支持 RS485 通讯和 Lora、2G、NB、4G 等无线通讯方式&#xff0c;增加了外置互感器的电流采样模式&#xff0c;从…

@Autowired和@component有哪些区别

Autowired 和 Component 是 Spring 框架中的两个不同的注解&#xff0c;它们有不同的作用和用途&#xff1a; Autowired&#xff1a; Autowired 注解用于自动装配&#xff08;注入&#xff09;Spring Bean 的依赖关系。 它可以标记在字段、构造函数、Setter 方法以及方法参数…

机器学习-09-图像处理

总结 本系列是机器学习课程的系列课程&#xff0c;主要介绍机器学习中图像处理技术。 参考 02图像知识 色彩基础知识整理-色相、饱和度、明度、色调 图像特征提取&#xff08;VGG和Resnet特征提取卷积过程详解&#xff09; Python图像处理入门 【人工智能】PythonOpenCV…

Redis高级-分布式缓存RDB原理

分布式缓存 1.1.2.RDB原理 bgsave开始时会fork主进程得到子进程&#xff0c;子进程共享主进程的内存数据。完成fork后读取内存数据并写入 RDB 文件。 fork采用的是copy-on-write技术&#xff1a; 当主进程执行读操作时&#xff0c;访问共享内存&#xff1b;当主进程执行写操…

idea中输入法被锁定如何清除

今天遇到一个问题&#xff1f;idea中输入法被锁定了&#xff0c;无论怎么切换输入法&#xff0c;切换中英文&#xff0c;在idea中输出的均为英文内容&#xff0c;该如何解决呢&#xff1f;&#xff08;idea官网&#xff1a;JetBrains: 软件开发者和团队的必备工具&#xff09; …

SQLite Android 绑定(十八)

返回&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLite 在Android安装与定制方案&#xff08;十七&#xff09; 下一篇&#xff1a;SQLite—系列文章目录 ​ 应用程序编程 加载共享库 在使用任何与 SQLite 相关的方法或对象之前&#xff0c;本机 SQLite 必…

ABAP ADBC_QUERY 测试代码

项目中使用的接口取数采用的是DBLink的方式&#xff0c;对方提供的表名太长&#xff0c;超过标准程序ADBC_QUERY的参数长度&#xff0c;于是写了一份简单的测试代码用来测试连接和取数。 DBCO配置&#xff1a; 测试程序&#xff1a; 程序源码&#xff1a; *&------------…

Unity DOTS1.0 入门(1) ECS机制与概述

ECS机制与概述 Entity:实体 由一个一个的Component组合在一起&#xff0c;是连续的内存布局。通过EnitityManager来负责高效的分配和释放相关entity. World:世界 一个entity的集合,在当前世界里面&#xff0c;每个Entity都有唯一不同的entityld;运行时Unity会自动创建一个D…

实验五 智能手机互联网程序设计(微信程序方向)实验报告

请完成数值比较任务&#xff1b; 二、实验步骤与结果&#xff08;给出对应的代码或运行结果截图&#xff09; index.js Page({ /** * 页面的初始数据 */ data: { num1:0, num2:0, num3:"" }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { },…

14款DevOps/SRE工具,助力提升运维效率

简介 随着平台工程的兴起&#xff0c;DevOps 和 SRE 不断发展&#xff0c;带来了新一代工具&#xff0c;旨在提高软件开发和运维的效率、可扩展性和可靠性。 在本篇文章中&#xff0c;我们将深入探讨一些最具发展前景的工具&#xff0c;它们正在塑造持续集成与部署、监控与可观…

【c语言】自定义类型:结构体详解

目录 自定义类型&#xff1a;结构体 结构体类型的声明 结构体变量的创建和初始化 结构的特殊声明 结构的自引用 结构体内存对齐 对其规则 为什么存在内存对齐&#xff1f; 修改默认对⻬数 结构体传参 结构体实现位段 位段的内存分配 位段的跨平台问题 位段的应用…

Java 中模板方法模式,请用代码具体举例

在Java中&#xff0c;模板方法模式是一种行为设计模式&#xff0c;它定义了一个算法的骨架&#xff0c;并允许子类为一个或多个步骤提供实现。以下是一个简单的示例&#xff1a; // 抽象类定义了模板方法和一些基本的方法&#xff0c;子类可以根据需要实现这些方法 abstract c…