有這樣一個結構: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排序目的
- 1 回答
- 0 關注
- 857 瀏覽
添加回答
舉報
0/150
提交
取消
