Выбор ответа Junior Объекты и массивы спрашивают часто обновлено
Компаратор для сортировки по убыванию
Вопрос
Какой компаратор корректно отсортирует числа по убыванию?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: (a, b) = b - a. Компаратор должен вернуть отрицательное число, если a идёт раньше b. b - a отрицательно, когда a больше, значит большие числа окажутся впереди. a - b сортирует по возрастанию.
Варианты ответа
(a, b) => a - b(a, b) => a > b(a, b) => b - aправильный ответ(a, b) => a < b
Разбор
Компаратор должен вернуть отрицательное число, если a идёт раньше b. b - a отрицательно, когда a больше, значит большие числа окажутся впереди. a - b сортирует по возрастанию. Компараторы, возвращающие булево, некорректны: true превращается в 1, false в 0, и случай «должно идти раньше» никогда не сигнализируется отрицательным числом. На части данных они случайно работают, на других дают неверный порядок.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.