Warm tip: This article is reproduced from serverfault.com, please click

qt-按数字对QString列表进行排序C ++

(qt - Sorting a QString list by numbers C++)

发布于 2020-11-29 15:37:46

我正在使用Qt,并创建了一个排名场景,其中包含所有球员列表及其得分,因此,我有一个QList<QString> listQString,每个QString都包含一个名称和一个得分,用这样的空格分隔 Mario 50现在的问题是:如何按最低分数对列表进行排序?

Questioner
UndefinedDuck
Viewed
11
Ngoc Minh Nguyen 2020-11-30 00:21:21

你可以使用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;
});