Linux C++ 029-STL之queue容器

2024-04-11 10:28
文章标签 c++ linux 容器 stl queue 029

本文主要是介绍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();
}

这篇关于Linux C++ 029-STL之queue容器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/893819

相关文章

Linux线程之线程的创建、属性、回收、退出、取消方式

《Linux线程之线程的创建、属性、回收、退出、取消方式》文章总结了线程管理核心知识:线程号唯一、创建方式、属性设置(如分离状态与栈大小)、回收机制(join/detach)、退出方法(返回/pthr... 目录1. 线程号2. 线程的创建3. 线程属性4. 线程的回收5. 线程的退出6. 线程的取消7.

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Linux下删除乱码文件和目录的实现方式

《Linux下删除乱码文件和目录的实现方式》:本文主要介绍Linux下删除乱码文件和目录的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下删除乱码文件和目录方法1方法2总结Linux下删除乱码文件和目录方法1使用ls -i命令找到文件或目录

Linux在线解压jar包的实现方式

《Linux在线解压jar包的实现方式》:本文主要介绍Linux在线解压jar包的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux在线解压jar包解压 jar包的步骤总结Linux在线解压jar包在 Centos 中解压 jar 包可以使用 u

linux解压缩 xxx.jar文件进行内部操作过程

《linux解压缩xxx.jar文件进行内部操作过程》:本文主要介绍linux解压缩xxx.jar文件进行内部操作,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、解压文件二、压缩文件总结一、解压文件1、把 xxx.jar 文件放在服务器上,并进入当前目录#

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

c++ 类成员变量默认初始值的实现

《c++类成员变量默认初始值的实现》本文主要介绍了c++类成员变量默认初始值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录C++类成员变量初始化c++类的变量的初始化在C++中,如果使用类成员变量时未给定其初始值,那么它将被

C++中NULL与nullptr的区别小结

《C++中NULL与nullptr的区别小结》本文介绍了C++编程中NULL与nullptr的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编... 目录C++98空值——NULLC++11空值——nullptr区别对比示例 C++98空值——NUL