目录
queue 基本概念
概念:
1、queue 是一种先进先出(First in First Out,FIFO)的数据结构,他有两个出口
2、队列容器允许从一端新增元素,从另一端移除元素
-
3、队列中只有对头和队尾才可以被外界使用,因此队列不允许遍历性为
-
4、队列中进数据 --- 入队(push)
-
5、队列中出数据 --- 出队(pop)
queue 常用接口
功能:
- 队列容器常用的对外接口
函数原型:
构造函数
// queue 采用模板类实现 queue<T> que; // 拷贝构造函数 queue(const queue& que);
赋值操作
// 重载等号操作符 queue& operator=(const queue& que);
大小操作
// 判断堆栈是否为空 empty(); // 返回队列大小 size();
测试代码:
#include<iostream>
using namespace std;
#include<queue>
#include<string>
class Person {
public:
Person(string name, int age) {
this->m_Name = name;
this->m_Age = age;
}
string m_Name;
int m_Age;
};
// 重载 << ,cout 输出类
void operator<<(ostream& cout, const Person& P) {
cout << P.m_Name << endl;
cout << P.m_Age << endl;
}
void PrintQueue(queue<Person>& q) {
while (q.size()) {
cout << q.front();
// 出队
q.pop();
}
}
void test() {
Person p1("张三", 19);
Person p2("李四", 19);
Person p3("王五", 19);
// 创建队列
queue<Person>que;
// 入队
que.push(p1);
que.push(p2);
que.push(p3);
// 张三先进先出,王五后进后出
PrintQueue(que);
}
int main() {
test();
system("pause");
return 0;
}
运行结果: