1 идет 10 потом 11 и 12, потом только 2?
Потому что он считает, что сначала должны идти все с первой цифрой 1
как можно сделать чтобы он считал что сначала должны идти те ключи у которых значение меньше?
вот такой вывод можно получить, и если да, то как? 2: 2 3: 3 4: 4 5: 5 6: 6 8: 8 9: 9 10: 10 11: 11 12: 12 1: 25 7: 107
Потому что ключи - это строки, поэтому так. Сделай кастомный компаратор для мапы
я сейчас изменил ключи на double
Компаратор, который каким-то магическим образом учитывает значения при сортировке ключей, выглядит мягко говоря странно
Что-то не понял странность определения своего компаратора
Так ему надо значения отсортировать, а не ключи Тут компаратор не поможет
я же сейчас поменял местами значения и ключи, и теперь мои ключи это double и их мне нужно отсортировать. правда я не могу разобраться где именно я должен указывать std::greater вот сюда: map<string, double> sort_object; или вот сюда: map<double, string>::reverse_iterator it = reverseMyMap.rbegin();
Значит я не так понял, по его примеру вывода, я подумал, что надо ключи сортировать
std::map<double, std::string, std::greater<double>>
Обсуждают сегодня