queue基本概念
概念 : Queue是一种先进先出的数据结构 , 他有两个出口
队列中的容器让从一段新增数据 , 从另一端移除数据元素
队列中只有队头和队为才可以被外界使用 , 因此队列不让有遍历的操作
队列中进数据为 -- push
队列中出数据为 -- pop
queue接口
构造函数
queue que; // que采用模板类实现,queue对象的默认构造形式
queue(const queue &que) // 拷贝构造函数
赋值操作:
queue& operator =(const queue &que) // 重载等号操作符
数据存取:
push(elem); // 往队尾添加元素
pop(); // 从队头移除第一个元素
back(); // 返回最后一个元素
front(); // 返回第一个元素
大小操作
empty(); // 判断堆栈是否为空
size(); // 返回栈大小
#include<iostream>
#include<queue>
using namespace std;
// 队列 queue 容器
class Person
{
public:
string n_Name;
int m_Age;
Person(string name, int age):n_Name(name),m_Age(age){}
};
void test01()
{
// 创建队容器
queue<Person> q;
//准备数据
Person p1("小魏", 22);
Person p2("小曲", 26);
Person p3("小孙", 30);
Person p4("小林", 22);
//入队
q.push(p1);
q.push(p2);
q.push(p3);
q.push(p4);
//判断只要队列不为空 查看队头 , 查看队尾 , 出队
cout << " 大小 " << q.size() << endl;
while (!q.empty())
{
// 查看队头
cout << " 队头元素 -- 姓名 : " << q.front().n_Name << " " ;
cout << " 队头元素 -- 年龄 : " << q.front().m_Age << endl;
cout << " 队尾元素 -- 姓名 : " << q.back().n_Name << " ";
cout << " 队尾元素 -- 年龄 : " << q.back().m_Age << endl;
q.pop();
}
}
int main(int argc, char** argv)
{
test01();
}