1.queue容器 队列 基本概念
概念:Queue是一种先进先出的数据结构,它有两个出口
队列容器允许从一段新增元素,从另一端移除数据
队列中只有对头和队尾才可以被外界使用,因此队列不允许有变量行为
队列中进数据称为----入队 push
队列中出数据称为----出队 pop
2.queue 队列 常用接口
功能描述:队列容器常用的对外接口
/*
构造函数
queue<T> que queue采用模板类实现
queue(const queue &que) 拷贝构造函数
赋值操作
queue &operator=(const queue &que) 重载等号操作符
数据存取
push(elem) 向队尾添加元素
pop() 从对头移除第一个元素
back() 查看最后一个元素
front() 查看第一个元素
大小操作
empty() 判断队列是否为空
size() 返回队列的大小
*/
class Person {
public:
string m_Name;
int m_Age;
Person(string name, int age) {
this->m_Name = name;
this->m_Age = age;
}
};
void test01() {
//创建队列
queue<Person> q;
//准备数据
Person p1("唐僧",30);
Person p2("孙悟空",1000);
Person p3("猪八戒",650);
Person p4("沙僧",452);
//入队
q.push(p1);
q.push(p2);
q.push(p3);
q.push(p4);
// 栈的大小
cout << "队列的大小:" << q.size() << endl;
//只要队列不为空,查看队头,查看队尾,并执行出对操作
while (!q.empty()) {
//查看队头元素
cout << "队头元素----姓名:" << q.front().m_Name <<"年龄:"<<q.front().m_Age << endl;
//查看队尾元素
cout << "队头元素----姓名:" << q.back().m_Name << "年龄:" << q.back().m_Age << endl;
//出对
q.pop();
}
//栈此时的大小
cout << "队列的大小:" << q.size() << endl;
}
int main() {
test01();
system("pause");
return 0;
}