STL-常用容器-queue 容器(队列)

 1 queue 基本概念

概念:Queue是一种先进先出(First In First Out,FIFO)的数据结构,它有两个出口。

队列容器允许从一端新增元素,从另一端移除元素

队列中只有队头和队尾才可以被外界使用,因此队列不允许有遍历行为

队列中进数据称为 --- 入队 push

队列中出数据称为 --- 出队 pop

2 queue 常用接口

功能描述:栈容器常用的对外接口

构造函数:

  • queue<T> que; //queue采用模板类实现,queue对象的默认构造形式

  • queue(const queue &que); //拷贝构造函数

赋值操作:

  • queue& operator=(const queue &que); //重载等号操作符

数据存取:

  • push(elem); //往队尾添加元素

  • pop(); //从队头移除第一个元素

  • back(); //返回最后一个元素

  • front(); //返回第一个元素

大小操作:

  • empty(); //判断堆栈是否为空

  • size(); //返回栈的大小

示例:

#include <queue>
#include <string>
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("唐僧", 30);Person p2("孙悟空", 1000);Person p3("猪八戒", 900);Person p4("沙僧", 800);//向队列中添加元素  入队操作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;cout << endl;//弹出队头元素q.pop();}cout << "队列大小为:" << q.size() << endl;
}int main() {test01();system("pause");return 0;
}

注意:队列不提供迭代器,更不支持随机访问。

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

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

相关文章

JS-this知识点、面试题

一、this指向什么 1.简介 2.规则一&#xff1a;默认绑定 3.规则二&#xff1a;隐式绑定 4.规则四&#xff1a;new绑定 5.规则三&#xff1a;显式绑定 call、apply、bind 6.内置函数的绑定 7.规则优先级 8.this规则之外--es6剪头函数 9.ES6剪头函数this 二、This面试题 面试题…

01.基于自定义MVC架构的用户登录与首页展示实现 — OA项目实践

目录 本章节目标&#xff1a;完成OA项目用户登录及首页展示 一.用户登录 User.java UserDao.java IUserDao.java UserAction.java login.jsp&#xff08;登录界面&#xff09; userManage.jsp (数据绑定&#xff0c;修改&#xff0c;删除) userEdit.jsp&#xff08;用…

Python WEB框架之FastAPI

Python WEB框架之FastAPI 今天想记录一下最近项目上一直在用的Python框架——FastAPI。 个人认为&#xff0c;FastAPI是我目前接触到的Python最好用的WEB框架&#xff0c;没有之一。 之前也使用过像Django、Flask等框架&#xff0c;但是Django就用起来太重了&#xff0c;各种…

苹果手机怎么查看历史足迹

1.解锁手机&#xff0c;点击设置&#xff0c;如下图。 2.进入到设置界面&#xff0c;点击【隐私】选项&#xff0c;如下图。 3.进入到隐私界面&#xff0c;点击【定位服务】&#xff0c;如下图。 4.进入定位服务界面&#xff0c;点击【系统服务】&#xff0c;如下图。 5.在打开…

苹果uwb定位技术

昨天的文章简单说明了手机定位的技术&#xff0c;文章写的比较简单&#xff0c;但是阅读量却还可以&#xff0c;这篇文章转一个uwb定位技术的文章&#xff0c;让更多的人了解这项技术。 相关阅读&#xff1a; 手机是怎么确定位置信息的&#xff1f; 载波和LoRa #前言 关于昨天的…

常见手机定位方式浅谈

引言 前段时间在知乎上回答了一个关于手机定位相关的问题&#xff0c;被一个知友问到“加一个人微信聊天之后&#xff0c;收到了人家的一个视频&#xff0c;随后也把这个人及他发的视频都删除了&#xff0c;几天后在网吧上网&#xff0c;被别人定位到了&#xff0c;勒索了一笔钱…

苹果手机如何显示定位服务器地址,iOS8定位服务在哪?苹果iPhone6/Plus开启或关闭定位方法图文介绍...

以下是具体的iPhone6/Plus开启或关闭定位方法&#xff0c;适合所有iOS8系统的iPhone设备。 iOS8定位服务在哪&#xff1f; 定位服务关系用户隐私方面的东西&#xff0c;因此iOS8定位服务在iOS8设置中的“隐私”设置中&#xff0c;大家可以在下面的iOS8开启或者关闭定位服务教程…

小程序定位苹果手机可以,但是安装手机获取不到定位

1.确认是否开通定位权限 如果还没有权限&#xff0c;就去申请&#xff1a;申请时 注明场景&#xff0c;多上传几张 那个位置需要上传的照片 更容易通过本人申请场景(参考)&#xff1a;需要获取工人拍照验收位置照片注明定位位置时间&#xff0c;验证工人师傅在现场 审核是否通…

vscode 对模型train、detect脚本进行Debug时配置参数

我们训练yolov5代码时&#xff0c;一般会配置一些参数&#xff0c;比如模型权重文件--weights, 模型的配置文件--cfg, 以及训练的数据--data, 对应的训练脚本为: 训练train python train.py -- weights ./yolov5s.pt --cfg models\yolov5s.yaml --data ./data/coco128.yaml…

uniapp iOS打包证书申请流程——window

uniapp 如何在 window 创建 iOS打包证书&#xff1f; 文章目录 uniapp 如何在 window 创建 iOS打包证书&#xff1f;下载 Appuploader安装创建证书相关入口创建证书创建描述文件运行调试账号过期提示 前提&#xff1a; 下载 Appuploader工具 Appuploader辅助工具&#xff0c;解…

微服务学习资料

文章目录 参考资料一. 微服务概述1. CAP理论2. BASE理论3. SpringBoot 与 SpringCloud对比 二. 服务注册&#xff1a;Zookeeper,Eureka,Nacos,Consul1. Nacos两种健康检查方式&#xff1f;2. nacos中负责负载均衡底层是如何实现的3. Nacos原理4. 临时实例和持久化(非临时)实例 …

监控摄像头镜头焦距计算方法

一、公式计算法&#xff1a; 视场和焦距的计算 视场系指被摄取物体的大小&#xff0c;视场的大小是以镜头至被摄取物体距离&#xff0c;镜头焦头及所要求的成像大小确定的。 1、镜头的焦距&#xff0c;视场大小及镜头到被摄取物体的距离的计算如下&#xff1b; …

手把手教你如何调配监控镜头

监控镜头指监控摄像机的镜头&#xff0c;由于监控摄像机只是一个单一的视频扑捉设备&#xff0c;镜头的像素和分辨率比电脑的视频头要高但是赶不上专业的数码相机或dv。在闭路监控体系中&#xff0c;摄像机又称摄像头或CCD&#xff08;Charge Coupled Device&#xff09;即电荷…

中国式安全感:2亿视频监控镜头守护社会生活

随着科技发展&#xff0c;视频监控设备早已成为保障城市公共安全的必需品&#xff0c;车站、公园、公路、街角随处可见&#xff0c;数量庞大的视频监控设备从各方面为社会安全与智慧化发展提供了有力保障。 打造中国式安全感 监控覆盖面不断扩大 古往今来&#xff0c;更高的社…

监控相机镜头 焦距

1、相机上面的数字6mm 8mm 12mm,这些是摄像头的焦距 2、镜头毫米数越小&#xff0c;看到的画面视角越宽&#xff0c;视线也就越近&#xff0c;远处的地方就会看不清楚&#xff0c;越大的镜头&#xff0c;照出来画面视视角越窄&#xff0c;视线越远 3、安装的距离与高度&#xf…

监控摄像机如何选择镜头视场角

监控摄像机如何选择镜头视场角 对于监控摄像机如何选取合适的镜头&#xff0c;是一门学问。对于监控摄像机厂商&#xff0c;无论是用在家里&#xff0c;办公室&#xff0c;用在电梯&#xff0c;用在公共场所等等&#xff0c;在选择使用多大视场角的镜头及配合什么样的CCD&#…

2.8/4/6/8mm/12mm焦距的镜头分别能监控多大范围?

2.8/4/6/8mm/12mm焦距的镜头分别能监控多大范围&#xff1f; 相关介绍 一、焦距和监控距离的关系 我司IPC镜头焦距有2.8/4mm/6mm/8mm等多种选择&#xff0c;可以满足室内外各种环境的拍摄需求。IPC每个产品系列都可以选择镜头焦距&#xff0c;产品型号末位即表示镜头焦距&am…

docker,nvidia-docker安装

卸载先前的docker Docker 的旧版本被称为 docker&#xff0c;docker.io 或 docker-engine 。如果已安装&#xff0c;请卸载它们&#xff1a; sudo apt-get remove docker docker-engine docker.io containerd runc使用 Docker 仓库进行安装 设置仓库 更新 apt 包索引 sudo…

Unix及类Unix系统文本编辑器的介绍

概述 Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器&#xff0c;在Vi的基础上改进和增加了很多特性。VIM是纯粹的自由软件。 Vim普遍被推崇为类Vi编辑器中最好的一个&#xff0c;事实上真正的劲敌来自Emacs的不同变体。1999 年Emacs被选为Linuxworld文本编辑分类…