queue容器

queue容器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
//
// Created by Jason on 2020/3/29.
//
/*
* Queue 没有迭代器
3.5.3.1 queue构造函数
queue<T>queT:// queue采用模板类实现, queue对象的默认构造形式
queue( const queue&que)://拷贝构造函数
3.5.3.2 queue存取、插入和删除操作
push(elem)://往队尾添加元素
pop();//从队头移除第一个元素ψ
back();//返回最后一个元素
front()//返回第一个元素
3.5.3.3 queue赋值操作
queue&operator = (const queue &que);//重戴等号操作符
3.5.3.4 queue大小操作
empty();//判断队列是否为空
size();//返回队列的大小
*/
#include<bits/stdc++.h>
using namespace std;
class Person{
public:
Person(string name,int age):m_Name(name),m_age(age)
{}
string m_Name;
int m_age;
};
void test01()
{
queue<Person>q;
Person p1("aaa",10);
Person p2("bbb",20);
Person p3("ccc",30);
Person p4("ddd",40);

//入队
q.push(p1);
q.push(p2);
q.push(p3);
q.push(p4);
while(!q.empty())
{
//获取对头元素
Person pFront =q.front();
cout<<"队头元素 NAME IS "<<pFront.m_Name<<" AGE IS "<<pFront.m_age<<endl;
//获取对尾元素
Person pBack = q.back();
cout<<"队尾元素 NAME IS "<<pBack.m_Name<<" AGE IS "<<pBack.m_age<<endl;
q.pop();//出队
}
cout<<"队列的大小为"<<q.size()<<" "<<endl;

}
int main()
{

test01();
system("pause");
return 0;
}
-------------本文结束,感谢您的阅读-------------