queue基本概念
先进先出
只有队头和队尾能被外界访问,因此不允许有遍历行为
出队pop 入队push
常用接口
#include<iostream>
#include<string>
#include<cmath>
#include<algorithm>
#include<queue>
const int N = 2e5 + 10, M = 1e3 + 10;
using namespace std;
class Person
{
public:
Person(string name, int age)
{
this->m_name = name;
this->m_age = age;
}
string m_name;
int m_age;
};
void test01()
{
queue<Person>q;
Person p1("A", 1);
Person p2("B", 2);
Person p3("C", 3);
Person p4("D", 4);
//入队
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_age << endl;
cout << "队尾元素:" << "姓名:" << q.back().m_age << "年龄:" << q.back().m_age << endl;
q.pop();
}
cout << "队列大小:" << q.size() << endl;
}
int main()
{
std::ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
test01();
return 0;
}