当前位置: 首页 > news >正文

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<iostream>
using namespace std;
#include<queue>
class Person
{
public:Person(string name, int age){this->m_name = name;this->m_age = age;}string m_name;int m_age;
};
//队列queue容器
void test01()
{queue<Person>q;//创建数据Person p1("唐僧", 50);Person p2("孙悟空", 1000);Person p3("猪八戒", 400);Person p4("沙僧", 800);//入队q.push(p1);q.push(p2);q.push(p3);q.push(p4);cout << "队列的大小:" << q.size() << endl;//判断只要队列不为空,查看队头,查看队尾,出队while(!q.empty()){//查看队头cout << "队头姓名:" << q.front().m_name << "队头年龄:" << q.front().m_age << endl;//查看队尾cout << "队尾姓名:" << q.back().m_name << "队尾年龄:" << q.back().m_age << endl;//出队q.pop();}cout << "队列的大小:" << q.size() << endl;
}
int main()
{test01();system("pause");return 0;
}

http://www.lryc.cn/news/271042.html

相关文章:

  • gitLab页面打tag操作步骤
  • 神秘的Cookie和Session
  • springboot接口文档
  • 深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing) 第一节 理解堆与栈
  • Maven的使用和配置
  • MongoDB 数据类型
  • Java 将 List 转换为 String常见方式
  • Redis(认识NoSQL,认识redis,安装redis,redis桌面客户端,redis常见命令,redis的Java客户端)
  • idea 出现Cannot resolve symbol ‘springframework‘解决方法
  • ubuntu22.04安装anacoda遇到的坑
  • window的OPen方法,弹窗的特征
  • DFS算法查找所有路径详解
  • 单片机的存储、堆栈与程序执行方式
  • Web3开发成本和主要特性
  • 【数学建模美赛M奖速成系列】Matplotlib绘图技巧(一)
  • 005、数据类型
  • 软考网络工程师考试大纲(2018年最新版)
  • 【数据结构】栈【详解】
  • CSS 纵向底部往上动画
  • 常用的 MySQL 可视化客户端
  • C#使用SyntaxTree获取.cs文件中的属性名和注释
  • 基于价值认同的需求侧电能共享分布式交易策略(matlab完全复现)
  • 门控循环单元(GRU)-多输入回归预测
  • 电池管理系统BMS中SOC算法通俗解析(二)
  • YOLOv5改进 | 2023主干篇 | 华为最新VanillaNet主干替换Backbone实现大幅度长点
  • 爬虫工作量由小到大的思维转变---<第三十三章 Scrapy Redis 23年8月5日后会遇到的bug)>
  • PostgreSQL | 概念 | 什么是OLTPOLAP?
  • 2023年成都市中等职业学校学生技能大赛“网络搭建及应用”赛项竞赛样卷
  • Angular进阶之六:Progressive rendering
  • 机器人中的数值优化之线性共轭梯度法