list容器(follow_vector)

//list和map容器使用
	//基本操作与vector基本相同   list迭代器没有随机访问的能力   只能递增或者递减 取值等操作  
	//插入和删除操作都不会使原有的迭代器失效,这在vector中是不可能实现的
	//list是一个双向循环链表  指针可以往前走也可以往后走
	list<people>l;
	people l1(10, "xiaoming");
	people l2(20, "liming");
	people l3(30, "zhangming");
	people l4(40, "xiaohua");
	people l5(50, "lihua");
	people l6(60, "xiaoli");
	people l7(60, "xiaoli");
	people l8(60, "xiaoli");
	people l9(60, "xiaoli");
	people l10(70, "xiaoai");
	people l11(70, "xiaoai");
	l.push_back(l1);
	l.push_back(l2);
	l.push_back(l3);
	l.push_back(l4);
	l.push_back(l5);
	l.push_back(l6);
	l.push_back(l7);
	l.sort(mycompare);  //对于自定义类型的数据 要给定排序顺序
	for (auto iter = l.begin(); iter != l.cend(); iter++)
	{
		cout << (*iter).age << endl;
		cout << (*iter).name<< endl;
	}


	//list高级排序  多条件进行排序
	list<person>m;
	person m1(10, "xiaoming", 22);
	person m2(20, "liming", 33);
	person m3(30, "zhangming", 44);
	person m4(40, "xiaohua", 55);
	person m5(50, "lihua", 55);
	person m6(60, "xiaoli", 55);
	person m7(60, "xiaoli", 76);
	person m8(60, "xiaoli", 56);
	person m9(60, "xiaoli", 66);
	person m10(70, "xiaoai", 55);
	person m11(70, "xiaoai", 77);
	m.push_back(m1);
	m.push_back(m2);
	m.push_back(m3);
	m.push_back(m4);
	m.push_back(m5);
	m.push_back(m6);
	m.push_back(m7);
	m.push_back(m8);
	m.push_back(m9);
	m.push_back(m10);
	m.push_back(m11);
	m.sort(mycompare2);  //对于自定义类型的数据 对多个条件进行排序 

	
	for (auto iter = m.begin(); iter != m.end(); iter++)
	{
		cout << (*iter).age<<"   " << (*iter).name<<"    " <<(*iter).length<<endl;
		
	}


	//m.erase(m4);
	//容器删除自定义类型的时候要在类内重载等号操作符 本质上删除操作是遍历迭代器并且进行判等操作
	

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值