这篇“C++中queue容器如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C++中queue容器如何使用”文章吧。
queue容器
1 简介
① queue是一种先进先出的数据结构,它有两个出口。
② 队列容器允许一段新增元素,从另一端移除元素。
③ 队列中只有对头和队尾才可以被外界使用,因此队列不允许有遍历行为。
④ 队列中进数据称为入队。
⑤ 队列中出数据称为出队。
2 常用接口
① 功能描述:栈容器常用的对外接口。
② 构造函数:
queue 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 test01() { //创建队列 queue<Person>q; //准备数据 Person p1("唐僧", 30); Person p2("孙悟空", 1000); Person p3("猪八戒", 900); 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; }
运行结果:
队列大小为:4
对头元素 -- 姓名:唐僧 年龄:30
队尾元素 -- 姓名:沙僧 年龄:800
对头元素 -- 姓名:孙悟空 年龄:1000
队尾元素 -- 姓名:沙僧 年龄:800
对头元素 -- 姓名:猪八戒 年龄:900
队尾元素 -- 姓名:沙僧 年龄:800
对头元素 -- 姓名:沙僧 年龄:800
队尾元素 -- 姓名:沙僧 年龄:800
队列大小为:0
请按任意键继续. . .