C++ queue容器
queue容器的基本概念
概念:queue是一种先进先出的数据结构,被称为队列,它的一端为入口(队尾入队),另一端为出口(队首出队)
队列中进数据称为——入队(push)
队列中出数据称为——出队(pop)
队列容器允许从一端添加元素,从另一端删除元素
队列中只有队头和队尾才可以被外界使用,因此队列不允许有遍历行为
使用deque需要包含头文件
#include<queue>
queue容器的常用接口
1.构造函数
queue<T> que;
//queue采用模板类实现,默认构造函数
queue(const queue& que);
//拷贝构造
2.赋值操作
queue& operator=(const queue& que);
//重载赋值运算符
3.数据存取:
push(elem);
//入队——往队尾添加元素
pop();
//出队——从队头删除元素
back();
//返回队尾元素
front();
//返回队头元素
4.大小操作:
empty();
//判断队列是否为空
size();
//返回队列大小
测试
class Person
{
public:
string m_name;
int m_age;
Person(string name, int age)
{
m_name = name;
m_age = age;
}
};
int main()
{
Person p1("张三", 35);
Person p2("李四", 28);
Person p3("王五", 30);
Person p4("赵六", 40);
queue<Person> que;
que.push(p1);
que.push(p2);
que.push(p3);
que.push(p4);
cout << "队列的大小为:" << que.size() << endl;
while (!que.empty())
{
cout << "队头元素为:" << que.front().m_name
<< que.front().m_age << "岁" << endl;
cout << "队尾元素为:" << que.back().m_name
<< que.back().m_age << "岁" << endl;
que.pop();
}
cout << "队列的大小为:" << que.size() << endl;
}
测试结果: