Gvozd,
Если я все правильно понял, то ты немного неправильно сравниваешь алгоритмы, точнее специально для таких случаев, и я создал ф-ию doCheck()
===============
Если я не так понял, то вот другой ответ: по-мойму если выпадают такие числа: Math.random()*1000|0: 21,123,765, это лучше чем: 345,376,401
===============
Я правильно понимаю, что у тебя алгоритм более лучше из-за этого:
Math.random()*(s-i) // то есть, те что уже пересортировались трогаться не будут?
===============
Никак не могу понять, что значит эта цифра:
1,2,3:
25654
??