为了账号安全,请及时绑定邮箱和手机立即绑定

C++里关于list的排序算法?

C++里关于list的排序算法?

C++
慕斯王 2018-11-20 19:14:52
有这样一个结构:struct Test{CString Name;int order;};声明一个list来保存结构.list<Test> testList;对list赋值:Test te;te.Name = "AAA";te.order = 1;testList.push_back(te);te.Name = "BBB";te.order = 3;testList.push_back(te);te.Name = "CCC";te.order = 2;testList.push_back(te);te.Name = "DDD";te.order = 5;testList.push_back(te);te.Name = "EEE";te.order = 4;testList.push_back(te);复制后我想对testList排序,要根据list里面对象的order来排序。也就是order为1的在list的第一个。2的在第二个。
查看完整描述

1 回答

?
胡说叔叔

TA贡献1804条经验 获得超8个赞

假如你的order对每一个对象来说都是唯一的,即不相同的话.
可以创建一个map<int,Test>和一个list<int>,将里面的order提取出来存放到list<int>里面,用sort()库函数排序,再根据map<int,Test>来查找匹配的对象,根据排序结果,重新对map<int,Test>赋值,这时,对int的排序就完成了对Test的排序,达到了对Test排序目的

查看完整回答
反对 回复 2018-12-06
  • 1 回答
  • 0 关注
  • 808 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信