Показать сообщение отдельно
  #9 (permalink)  
Старый 04.05.2014, 04:38
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

Сообщение от pshcolnyy Посмотреть сообщение
Вы написали:
Ему просто указать надо что больше, а что меньше и то что меньше оно поставит левее в массиве, то что больше правее.

И как это указывается.
Я же там дальше написал как это указывается:
Сообщение от jsnb Посмотреть сообщение
Если функция вернет положительное число, то sort считает что a>b, если отрицательное, что a<b и сортирует в соответствии с этим.


Сообщение от pshcolnyy Посмотреть сообщение
Если так всегда то я начинаю понимать как это работает, точнее принцип работы, то есть пофиг что ты там напишешь все решает результат -1 +1 или 0, в зависимости от этого результата массив перестраивается.
Ну так тебе про это уже несколько раз написали. Да, для sort важно только возвращаемое из функции число, а точнее его знак. Это может быть как -1 и 1, так и -123213 и 432, на само число sort плевать, оно ориентируется по знаку числа. Поэтому там и написано return a-b, т.к. тут простые арифметические правила заменяют "if (a<b) return -1" т.к. если a<b, то a-b будет отрицательным числом и оно попадет в return.

Последний раз редактировалось jsnb, 05.05.2014 в 05:23.
Ответить с цитированием