内容
queue容器(队列)的常用接口。
代码
#include <iostream>
#include <string>
#include <queue> // 注意包含queue容器(队列)的头文件
using namespace std;
class Person
{
public:
string m_Name;
int m_Age;
public:
Person(string name, int age)
{
this->m_Name = name;
this->m_Age = age;
}
};
void test01()
{
Person p1("p1", 1);
Person p2("p1", 2);
Person p3("p1", 3);
Person p4("p1", 4);
queue<Person> q1; // here01,默认构造
queue<Person> q2(q1); // here02,拷贝构造
queue<Person> q3;
q3 = q1; // here03,重载等号操作符
// here01,向队首添加元素
q1.push(p1);
q1.push(p2);
q1.push(p3);
q1.push(p4);
cout << "队列大小:" << q1.size() << endl; // here02,返回容器的大小
cout << "出队顺序:" << endl;
while (!q1.empty()) // here03,判断容器是否为空,为空则返回true,不为空则返回false
{
// here04,返回队首元素
cout << "出队/队首元素 -> " << q1.front().m_Name << " " << q1.front().m_Age << endl;
// here05,返回队尾元素
cout << "队尾元素 -> " << q1.back().m_Name << " " << q1.back().m_Age << endl;
q1.pop(); // here06,移除队尾元素
}
}
int main()
{
test01();
return 0;
}