C++ 按数字C+排序QString列表+;
我正在使用Qt,我创建了一个排名场景,其中包含所有玩家及其分数列表,因此我有一个C++ 按数字C+排序QString列表+;,c++,qt,C++,Qt,我正在使用Qt,我创建了一个排名场景,其中包含所有玩家及其分数列表,因此我有一个QList列表,每个QString包含一个名称和分数,由一个空格分隔,如Mario 50。 现在的问题是:如何按最低分数对列表进行排序?您可以将std::sort()与类似的lambda一起使用 std::sort(str_list.begin(), str_list.end(), [](const QString &lhs, const QString &rhs) { int num_lhs
QList列表
,每个QString包含一个名称和分数,由一个空格分隔,如Mario 50
。
现在的问题是:如何按最低分数对列表进行排序?您可以将
std::sort()
与类似的lambda一起使用
std::sort(str_list.begin(), str_list.end(), [](const QString &lhs, const QString &rhs)
{
int num_lhs = lhs.split(' ').last().toInt();
int num_rhs = rhs.split(' ').last().toInt();
return num_lhs < num_rhs;
});
std::sort(str_list.begin()、str_list.end()、[](常量QString&lhs、常量QString&rhs)
{
int num_lhs=lhs.split(“”).last().toInt();
int num_rhs=rhs.split(“”).last().toInt();
返回num_lhs
如果您将QList
更改为QMap
,其中int是值,QString只是名称,那么问题就解决了。我一直在寻找解决方案,但不幸的是,我现在无法更改格式,因为我有太多其他函数使用我的列表谢谢!!如果你觉得它有用,请考虑投票,并正确地回答答案。