C++提高编程---3.6 STL-常用容器-queue 容器【P213~P214】
-
- [3.6 queue 容器](#3.6 queue 容器)
-
- [3.6.1 queue 容器基本概念](#3.6.1 queue 容器基本概念)
- [3.6.2 queue 容器常用接口](#3.6.2 queue 容器常用接口)
3.6 queue 容器
3.6.1 queue 容器基本概念
概念:Queue是一种先进先出(First In First Out,FIFO)的数据结构,它有两个出口

- 队头只能出
pop() - 队尾只能进
push()
只有队头、队尾能被外界访问,因此不能有遍历行为

3.6.2 queue 容器常用接口

cpp
#include<iostream>
#include<queue>
#include<string>
using namespace std;
// 队列 queue
class Person {
public:
Person(string name, int age) {
this->name_ = name;
this->age_ = age;
}
string name_;
int 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().name_ << "年龄------" << q.front().age_ << endl;
cout << "队尾为:姓名------" << q.back().name_ << "年龄------" << q.back().age_ << endl;
// 出队
q.pop();
// 查看队列大小
cout << "当前队列长度为:" << q.size() << endl;
}
}
int main() {
test01();
system("pause");
return 0;
}
