我有一个C++列表对象,其中有4列数据,其中每列由空格分隔。它们分别是string,integer,integer和double类型。我如何按第一列和第四列对列表进行排序?按多列对C++列表排序
-1
A
回答
4
使用该解析数据并返回的低于由第一比较对象1和对象2
struct sorter1432
{
bool operator()(const Data &a, const Data &b)
{
if(a.first != b.first) return a.first < b.first // string comparision
if(a.fourth != b.fourth) return a.fourth < b.fourth // double comparision
if(a.third != b.third) return a.third < b.third // int comparision
if(a.second != b.second) return a.second < b.second // int comparision
return false; // Equal
}
};
...
lst.sort(sorter1432);
关于成员,第二,第三的结果和第四你解析谓词函数(使用stringstream可能)并将其存储在数据成员中,因为每次在您的帮助函数中进行解析可能代价很高。
+0
1.我认为你的意思是if(a.first!= b.first)... 2.他可能想要重载
+0
@SignalEleven对不起,谢谢。是的,除非他稍后可能想以不同的方式排序。 –
1
创建数据的结构,然后根据Mohits的答案进行排序。 它可能看起来像
struct s_data{
string str;
int a;
int b;
double c;
};
现在你可以通过使用一个仿函数进行排序。
输入使用stringstream(将使生活更容易)。
相关问题
- 1. 按多列对C#列表排序
- 2. C#按多个条件排序列表
- 3. C#按2列排序表
- 4. 按一列对多列进行排序
- 5. 按C++语言按字母顺序排列对象列表
- 6. 按两列对列表进行排序
- 7. 按多列排序
- 8. 排序/按多列
- 9. C#列表顺序由排按升序
- 10. c#按升序排序组合列表
- 11. C++按升序排序链接列表
- 12. JPA按多列对多列的顺序排列
- 13. 按升序对数据列表排序
- 14. 排序下拉列表按值排列
- 15. c#按键排序的散列表
- 16. 按多个参数排序列表
- 17. 按另一个列表的顺序对一个列表排序
- 18. 按多列排序应按顺序排列
- 19. 对列表对象排序列表
- 20. 按对象字段排序列表
- 21. Cout按降序排列C++
- 22. Uniq -c按列排序?
- 23. pdo sqlsrv按多列排序
- 24. 按c中的参数对对象列表排序#
- 25. 按日期排序列表,然后按最新顺序排列
- 26. 许多字段排序列表(C#)?
- 27. C#列表排序与多个范围
- 28. 排序原始表按降序排列
- 29. 多维列表排序[多列]
- 30. SQL排序按列表
一些代码在这里会很好。当你说C++列表时,你是什么意思?一个STL向量,列表或一些自制列表?您可能想要为数据对象重载一个运算符,但具体取决于您的实现 –
我的意思是具有四个属性的对象的STL列表。这些属性的类型分别为string,integer,integer和double –