3.6 queue容器
3.6.1 queue 基本概念
概念:
Queue是一种先进先出的数据结构,它有两个出口
队列容器允许从一端新增元素,从另一端移除元素
队列中只有队头和队尾才可以被外界使用,因此队列不允许有遍历行为
队列中进数据称为 —— 入队 push
只有队头和队尾能被外界访问,因此队列不允许有遍历行为。

3.6.2 queue 常用接口
构造函数:
queue<T> que; //queue采用模板类实现,queue对象的默认构造形式
queue(const queue &que); //拷贝构造函数
赋值操作:
queue& operator=(const queue &que); //重载等号操作符
数据存取:
push(elem); //向栈顶添加元素
pop(); //从栈顶移除第一个元素
front(); //返回第一个元素
back(); //返回最后一个元素
大小操作:
empty(); //判断是否为空
size(); //返回大小
—————————————————————————————————————————————————————————————————————————————————————————————
#include <iostream>
#include <queue>
#include <string>
using namespace std;
class Person
{
public:
Person (string name,int age)
{
this->m_Age = age;
this->m_Name = name;
}
string m_Name;
int m_Age;
};
void test01()
{
queue<Person> q;
Person p1("xx",11);
Person p2("dd",12);
Person p3("gg",13);
Person p4("aa",14);
q.push(p1);
q.push(p2);
q.push(p3);
q.push(p4);
cout << q.size() << endl;
while (!q.empty())
{
cout << q.front().m_Age << " " << q.front().m_Name << endl;
cout << q.back().m_Age << " " << q.back().m_Name << endl;
cout << endl;
q.pop();
}
cout << q.size() << endl;
}
int main()
{
test01();
system("pause");
return 0;
}
本文介绍了C++中queue容器的基本概念,包括其作为先进先出(FIFO)数据结构的特点,并详细讲解了queue的常用接口及其操作。
848

被折叠的 条评论
为什么被折叠?



