Я должен отсортировать вектор структур.Допустим, структура имеет двух членов:
Struct game
{
string name;
int rating;
};
Итак, я создал std::vector<game>
игр и просто отсортировал их по рейтингу.
std::sort(games.begin(),games.end(), [](game& info1, game& info2)
{
return info1.rating > info2.rating;
});
Все естьпока все в порядке.Проблема в том, что если все игры имеют рейтинг 0, они смешиваются.Проще говоря, я должен сортировать только элементы с рейтингом больше нуля.Давайте приведем пример:
Все игры помещаются в векторе по именам в алфавитном порядке и с рейтингом 0, когда сортировка запускается, порядок алфавита нарушается.
Пример перед сортировкой:
"A_Game"
, "B_Game"
, "C_Game"
, "E_Game"
, "G_Game"
и т. Д. (Продолжить со всеми последующими буквами)
после сортировки (все игры с рейтингом 0):
"G_Game"
, "S_Game"
, "P_Game"
, "M_Game"
, "L_Game"
, "I_Game"
и т. Д.
Мне нужно отсортировать только те игры, которые имеют рейтингбольше 0. Спасибо заранее.