что такое -1? предыдущее какое-то значение ?
компараторы обычно используются не оторвано от чего-либо, а в чём-то. Самое понятное - это использование в сортировке. Сортировка должна работать по какому-то алгоритму. Для функции сортировки нужно сообщить, по какому принципу она должна различать между собой значения. Она не знает что "Иван" должен идти после "Аня", или что "124" должно идти после "120". Этой функции надо это подсказать. Поэтому у неё есть некая своя логика и договорённость с программистами: пожалуйста, если значение a
нужно поставить правее b
, то дай мне значение такое-то, а если наоборот - то вот такое.. Программисту она говорит, что "мне нужны такие-то значения для понимания что идёт за чем". А сама функция при этом внутри себя в своей логике, для сортировки, использует эти 1, 0, -1 для сравнения, если утрированно, то она внутри просто использует if
и если условие равно какому-то значению, то логика идёт по какой-то ветке. Например если копаратор вернул -1, то функция делает так
if (результатФункции равен - 1) {
делаю какую-то большую сравнительную непосильную логику,
которая не видна из вне
}
if (результатФункции равен 1) {
делаю другую какую-то логику
}
if (результатФункции равен 0) {
делаю так и сяк
}