Случайная сортировка массива на JavaScript
Для случайной сортировки массива можно использовать стандартную конструкцию
Вроде бы все правильно. Массив должен сортироваться случайным образом. Но это не совсем так. Иногда такой способ вызывает исключение "нарушены условия контракта".
Разбираемся в причинах.
Оказывается сортировка вызывается неоднократно и для одних и тех же пар элементов будут разные значения сортировки. Это может привести к повторным перемещениям элементов в списке сортировки. Естественно это сделает сортировку более длительной. Скорее всего внутри сортировщика находится защита от длительной сортировки. Вот мы и получаем такое исключение.
Как стоит производить сортировку?
Метод следующий. Сразу генерим массив случайных чисел рядом и сортируем свой массив как этот сгенерированый. Код реализации такой.
1
показ
1.6K
открытий
0
1 комментарий
Ответить