Как uksort () обрабатывает массив внутри - PullRequest
0 голосов
/ 21 октября 2011

После долгой работы над этим вопросом я понял, что не до конца понимаю, как работает uksort, и не могу найти никакой документации на этот счет.

В каком порядке обрабатываются значения и останавливается ли дальнейшая обработка значения при возврате целочисленного значения для текущего сравнения?

1 Ответ

1 голос
/ 21 октября 2011

Порядок обработки значений зависит от алгоритма сортировки интерпретатора. В результате вы не должны беспокоиться об этом; конечный результат будет одинаковым независимо от того, в каком порядке они обрабатываются (если вы сортируете колоду карт, она будет в том же порядке, независимо от того, перетасовали ли вы ее заранее или до тех пор, пока 2 < 3 и J < Q и и так далее.

Во всех алгоритмах сортировки, кроме самых наивных, значение будет посещено («обработано») несколько раз, прежде чем оно попадет на свое окончательное место в массиве результатов. Когда вы return в обратном вызове указываете на uksort, это не обязательно последний раз, когда обратный вызов будет вызываться для этих двух значений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...