queue容器

一.摘要

  队列,先进先出,后进后出~

二.函数原型

构造函数:

queue<T> que; 
//queue采用模板类实现,queue对象的默认构造形式 queue(const queue &que); //拷贝构造函数

赋值操作:

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

数据存取:

push(elem); 
//往队尾添加元素 pop(); //从队头移除第一个元素 back(); //返回最后一个元素 front(); //返回第一个元素

大小操作:

empty(); 
//判断堆栈是否为空 size(); //返回栈的大小

三.示例代码

代码:

复制代码
/*quequ容器*/ #include<iostream> #include<queue> #include<string> using namespace std; class Person { public: Person(string t_name,int t_age) { this->name = t_name; this->age = t_age; } string name; int age; }; void printQueue(queue<Person>&q) { while (!q.empty()) {//empty(); //判断堆栈是否为空 cout << q.front().name<<""<<q.front().age<<""<<endl;//front(); //返回第一个元素 q.pop();//pop(); //从队头移除第一个元素 } } int main() { queue<Person>q1;//queue<T> que; //queue采用模板类实现,queue对象的默认构造形式 Person p1("mzb", 20); Person p2("cxy", 19); Person p3("cxt", 20); Person p4("zyf", 19); Person p5("tjc", 19); q1.push(p1), q1.push(p2), q1.push(p3), q1.push(p4), q1.push(p5);//push(elem); //往队尾添加元素 cout << "q1最后一个元素:" << q1.back().name << "" << q1.back().age << "" << endl;//back(); //返回最后一个元素 queue<Person>q2(q1);//queue(const queue &que); //拷贝构造函数 queue<Person>q3; q3 = q2;//queue& operator=(const queue &que); //重载等号操作符 cout << "q1:" << endl; printQueue(q1); cout << "q2:" << endl; printQueue(q2); cout << "q3:" << endl; cout << "出队前q3大小:" << q3.size() << endl; printQueue(q3); cout << "出队后q3大小:" << q3.size() << endl; system("pause"); return 0; }
queue示例代码
复制代码

结果:

 

 三.总结

  很容易掌握,操作跟 stack容器 类似~

posted @   小贼的自由  阅读(211)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示