【C++常用容器】STL基础语法学习queue容器

news2024/12/28 3:40:50


目录

●queue的基本概念

●queue常用接口

        ●构造函数

        ●赋值操作        

        ●数据存取

        ●大小操作


●queue的基本概念

简要介绍:queue是一种先进先出的的数据结构,它有两个出口。队列容器允许从一端新增元素,从另一端移除元素。队列中只有队头和队尾才可以被外界使用,从而导致它不允许有遍历行为。队列中进数据元素为入队(push),出数据元素为出队(pop)。


●queue常用接口

        ●构造函数

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

                ■queue(constjqueue &que)        //拷贝构造函数

        ●赋值操作        

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

        ●数据存取

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

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

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

                ■front()        //返回第一个元素 

        ●大小操作

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

                ■size()        //返回栈的大小

#include<iostream>
#include<string>
#include<queue>
using namespace std;
typedef struct {
	int id;
	string name;
	int age;
}information;
void text()
{
	information i1;
	information i2;
	information i3;
	information i4;
	queue<information>q;
	i1.id = 1001; i1.name = "zhangsan"; i1.age = 18;
	i2.id = 1002; i2.name = "lisi"; i2.age = 19;
	i3.id = 1003; i3.name = "wangwu"; i3.age = 20;
	i4.id = 1004; i4.name = "zhaoliu"; i4.age = 21;
	//入队
	q.push(i1);
	q.push(i2);
	q.push(i3);
	q.push(i4);
	int i = 1;
//判断是否为空,并且输出队头队尾元素
	while (!q.empty())
	{
		cout << "队头学生:" << q.front().id << " " << q.front().name << " " << q.front().age << endl;
		cout << "队尾学生:" << q.back().id << " " << q.back().name << " " << q.back().age << endl;
		cout << "第"<<i<<"次出队" << endl;
		q.pop();
		i++;
	}
//判断最终出队后的队列大小
	cout << "队列的大小:" << q.size() << endl;

}
int main()
{
	text();
}


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

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

相关文章

如何批量查询谷歌PR权重是多少?谷歌PR权重怎么批量查询

权重是就是网站在搜索引擎心目中的位置&#xff0c;如果一个网站在搜索引擎心目中的位置高的话&#xff0c;当然容易获得较好的排名&#xff0c;今天不是来跟大家聊如何提升网站权重的&#xff0c;而是教大家如何去看一个网站的权重&#xff0c;做网站的朋友都要知道要做关键词…

RadSystems Studio构建CRUD操作程序

RadSystems Studio构建CRUD操作程序 RadSystems Studio是一个快节奏的开发环境&#xff0c;不需要专门的编程。该软件提供了数字解决方案和组件&#xff0c;以尽快在API和UI中构建程序&#xff0c;只需少量代码&#xff0c;甚至无需编写。该软件减少了编写时间并改进了开发过程…

win10 安装配置nvm

第一步:下载安装包 链接&#xff1a;https://pan.baidu.com/s/1B_gc9DnM8s3utcd_DB1H4Q?pwdxm03 提取码&#xff1a;xm03 第二步:安装nvm 第三步:配置nvm setting文件加上淘宝镜像 node_mirror: https://npm.taobao.org/mirrors/node/ npm_mirror: https://npm.taobao.or…

【python】os.system() os.popen() 在 python 执行 cmd 指令

先说总结 os.system&#xff1a;获取程序执行命令的返回值。 os.popen&#xff1a; 获取程序执行命令的输出结果。 commands&#xff1a;获取返回值和命令的输出结果。1 os.system() 这个方法是直接调用标准C的system() 函数&#xff0c;仅仅在一个子终端运行系统命令&#x…

作业-12.9【手动实现封装栈、队列模板类】

代码实现 #include <iostream> #include <queue> using namespace std; template <typename T> class My_queues { private: //队列数据存储空间 T *data; //头下标 int head; //尾下标 int tail; int max_len; public: //无参构造函数 My_queues():data(NUL…

信息搜集方法总结

文章目录前言一、域名和IP信息搜集&#xff08;一&#xff09;判断是否使用CDN&#xff08;二&#xff09;存在CND时查找真实IP&#xff08;三&#xff09;WHOIS信息查询&#xff08;四&#xff09;备案信息查询&#xff08;五&#xff09;给定IP反查其他信息&#xff08;六&am…

实现微信通知提醒的方法总结

一、使用企业微信群机器人接口效果&#xff1a;微信群消息通知优点&#xff1a;后台运行不受干扰性能稳定、群内多人同时接收通知、无需登录微信、支持微信图文消息缺点&#xff1a;只适用于企业微信群、有发送频率限制使用方法&#xff1a; 1、拉一个企业微信群&#xff0c;在…

TACL 2022 | GAL:合成文本在自然语言处理任务中的应用

©PaperWeekly 原创 作者 | 何玄黎单位 | 伦敦大学学院&#xff08;UCL&#xff09;研究方向 | 自然语言处理论文标题&#xff1a;Generate, Annotate, and Learn: NLP with Synthetic Text收录会议&#xff1a;TACL 2022论文链接&#xff1a;https://arxiv.org/abs/2106.…

无需注册试用ChatGPT

无需注册试用ChatGPT OpenAI账号有诸多限制&#xff0c;包括地区限制&#xff0c;手机号注册等&#xff0c;参考ChatGPT注册试用全攻略。不开全局代理&#xff0c;还会出现Not available OpenAIs services are not available in your country. 所以有没有什么途径&#xff0c;…

ADI Blackfin DSP处理器-BF533的开发详解17:IIS+AUDIO音频codec的应用(含源代码)

硬件准备 ADSP-EDU-BF533&#xff1a;BF533开发板 AD-HP530ICE&#xff1a;ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 很早期做的设计&#xff0c;用的是TI的一颗音频codec&#xff0c;如果要放到今天&#xff0c;我肯定是用ADI的SigmaDSP了&#xff0c;ADI所有的Si…

【计算机图形学入门】笔记5:光栅化(三角形的离散化)

目录05光栅化&#xff08;三角形的离散化&#xff09;1.Canonical Cube to Screen 从标准立方体到屏幕1.屏幕是什么&#xff1f;What is a screen?2.光栅化是什么&#xff1f;Raster screen in German3.像素Pixel (FYI, short for “picture element”)4.使用以下矩阵公式将中…

基于蜂虎狩猎 (BEH) 算法求解单目标优化问题附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

【克罗地亚VS巴西】和【荷兰VS阿根廷】足球的魅力

两场球赛你看了吗时间段克罗地亚 VS 巴西荷兰 VS 阿根廷最后的话时间段 &#x1f34b;12月09日的 23:00 克罗地亚 VS 巴西 &#x1f34a;12月10日的 03:00 荷兰 VS 阿根廷 克罗地亚 VS 巴西 半场比赛双方都没有找到绝佳的破门良机&#xff0c;0-0战平。 90分钟内&#xff…

Java的线程及多线程

1 线程 1.1 Thread 下面是两个demo&#xff0c;第一个是线程执行顺序&#xff0c;第二个是多个线程的顺序。 其中线程的start可以看成是就绪状态&#xff0c;cpu并不一定会马上去执行run方法的内容&#xff0c;因此如果是多线程&#xff0c;顺序是不确定的。 public class Th…

【Pytorch】第 6 章 :用函数逼近扩展学习

&#x1f50e;大家好&#xff0c;我是Sonhhxg_柒&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f4dd;个人主页&#xff0d;Sonhhxg_柒的博客_CSDN博客 &#x1f4c3; &#x1f381;欢迎各位→点赞…

【GRU回归预测】基于门控循环单元GRU实现数据多维输入单输出回归预测附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

英方软件通过注册:预计年营收2亿 为胡军擎与江俊夫妻店

雷递网 雷建平 12月8日上海英方软件股份有限公司&#xff08;简称&#xff1a;“英方软件”&#xff09;日前通过注册&#xff0c;准备在科创板上市。英方软件计划募资5.7亿元&#xff0c;其中&#xff0c;2.46亿元用于行业数据安全和业务连续性及大数据复制软件升级项目&#…

JavaScript:错误处理

一个优秀的产品&#xff0c;需要有一个良好的错误处理策略可以让用户知道到底发生什么。不至于让用户自己不知道发生了什么&#xff0c;然后再重试或者是不至于然用户感到特别厌烦&#xff0c;然后直接离开。 try/catch语句 try/catch语句&#xff0c;在JavaScript中作为处理…

51 java.lang.Class/java.lang.ClassLoader/InstanceKlass/ClassloaderData 的卸载

前言 之前 碰到了一个 flink 基于 ChildFirstClassLoader 来进行任务隔离 导致的内存泄漏的问题 然后 使用 demo 复现了一下 问题 之后 想探索一下 java language 中 类型的卸载相关 并且会 拓展一些其他的知识 以下测试用例基于 jdk8, 部分截图基于 jdk9 测试用例 T…

0行代码拿210万年薪,ChatGPT催生新型「程序员」岗:工作纯靠和AI聊天

梦晨 发自 凹非寺量子位 | 公众号 QbitAI靠玩ChatGPT&#xff0c;还能找到新工作&#xff1f;没错&#xff0c;Riley Goodside&#xff08;后面叫他好面哥&#xff09;4月份开始在网上发布玩GPT-3的心得。最近ChatGPT一波爆火&#xff0c;他不光粉丝涨了一万多&#xff0c;还收…