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;
}




全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务