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;
}
查看12道真题和解析