queue容器
规则双口队列,先进先出
1、queue构造函数
queue<T> que;//queue采用模板类实现
queue<const queue &que>;//拷贝构造函数
2、queue存取、插入和删除操作
push(elem);//往队列尾添一个元素
pop();//从对头移除第一个元素
back();//返回最后一个元素
front();//返回第一个元素
3、queue赋值操作
queue& operator=(const queue &que);//重载等号操作符
4、queue大小操作
empty();
size();
#include<iostream> #include<string> #include<queue> using namespace std; void test01() { queue<int> ql; ql.push(2); ql.push(3); ql.push(4); ql.push(5); queue<int> q2(ql);//拷贝构造 while (ql.size() > 0) { int val = ql.front(); cout << val<<" "; ql.pop(); } } class Teacher{ public: Teacher(string name, int age) :name(name), age(age){} string name; int age; }; void test02() { queue<Teacher> q; Teacher t1("aaa", 10); q.push(t1); while (q.size() > 0) { Teacher t = q.front(); cout << "age" << t.age << "name" << t.name; q.pop(); } } void test03() { queue<Teacher*> q; Teacher t1("aaa", 10); Teacher *p = &tl; q.push(p); while (q.size() > 0) { Teacher *t = q.front(); cout << "age" << t->age << "name" << t->name; q.pop(); } } int main() { test03(); return EXIT_FAILURE; }