C++提高编程 3 STL常用容器 -queue容器
3.6 queue容器
3.6.1 queue基本概念
概念:queue是一种先进先出(First In First Out,FIFO)的数据结构,它有两个出口(滑滑梯~先进去的小朋友先出来)
队列容器允许从一端新增元素,从另一端移除元素
队列中只有队头和队尾才可以被外界使用,因此队列中不允许有遍历行为
队列中进数据称为 --- 入队 push
队列中出数据称为 --- 出队 pop
判断队列是否为空 empty
返回队列大小 size
3.6.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> #include<string> //队列queue class Person { public: Person(string name, int age) { this->m_Name = name; this->m_Age = age; } string m_Name; int m_Age; }; void test1() { //queue<int>q; //不光可以传int进入 也可以传入自定义数据类型 比如Person //创建队列 queue<Person>q; //准备数据 Person p1("张三", 20); Person p2("李四", 40); Person p3("王五", 60); Person p4("赵六", 80); //入队 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() { test1(); system("pause"); return 0; }
分类:
C++学习
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能