1.基本概念:
queue是一种先进先出的数据结构他有两个出口;队里容器只允许从一端新增元素,从另一端移除元素;队列中只有对头和对位可以被外界使用,因此队列中不允许有遍历的行为。
2.queue常用接口
- 构造函数:
queue<T>que;//queue采用模板类实现,queue对象的默认构造形式
queue(const queue&que)'//拷贝构造函数
- 赋值操作:
queue &operator=(const queue&que);//重载等号操作符
- 数据存取:
push(elem);//在队尾添加数据;
pop();//从对头移除第一个元素
back();//返回最后一个元素
front();//返回第一个元素
- 大小操作:
empty();//判断栈是否为空
size();//返回栈大小
#include<iostream>
using namespace std;
#include<queue>
#include<string>
class Person
{
public:
string name;
int age;
Person(string name, int age)
{
this->name = name;
this->age = age;
}
};
void test01()
{
//创建
queue < Person>q;
Person p1("张三", 18);
Person p2("lisi", 20);
Person p3("王五", 28);
Person p4("小米", 34);
//入栈
q.push(p1);
q.push(p2);
q.push(p3);
q.push(p4);
cout << "大小:" << q.size() << endl;
//判断栈是否为空
while (!q.empty())
{
cout << "对头元素:" << q.front().name << "对头元素:" << q.front().age << endl;
cout << "对头元素:" << q.back().name << "对头元素:" << q.back().age << endl;
//出对
q.pop();
}
cout << "大小:" << q.size() << endl;
}
int main()
{
test01();
system("pause");
return 0;
}