// // 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> usingnamespacestd; classPerson{ public: Person(string name,int age):m_Name(name),m_age(age) {} string m_Name; int m_age; }; voidtest01() { 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;