PDA

Просмотр полной версии : Рандомная сортировка чисел в массиве.


deman455
18.05.2010, 12:54
Как сортировать числа в массиве рандомно?

udaaff
18.05.2010, 13:04
http://www.google.com/search?hl=ru&newwindow=1&client=opera&hs=yzw&rls=ru&q=shuffle+site%3Aflasher.ru&aq=f&aqi=&aql=&oq=&gs_rfai=

Tails
18.05.2010, 22:24
самый гениальный способ, лучше не найти.
mass=1,2,3,4,5,6,7,8,9;
for(i=0; i<=9; i++){
x=random(9);
y=mass[x];
mass[x]=mass[i];
mass[i]=y;
}
пс. это не код, это принцип :)

Juice_Green
19.05.2010, 10:27
var myArray:Array = new Array(0,1,2,3,4,5,6,7,8,9);
function randomSortFunc(a, b):Number {
return Math.random()>=0.5 ? 1 : -1;
}
trace(myArray);
myArray.sort(randomSortFunc);
trace(myArray);

Silicium
03.10.2011, 10:26
Самый гениальный способ, лучше которого не найти, как нЕ странно, работает существенно быстрее. А точно "лучше не найти"?

Psycho Tiger
03.10.2011, 21:31
Самый лучший :)
var array:Array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
var l:Number = array.length;
var i:int = l;
while (i--) {
var r:Number = random(l);
array[r] += array[i] - (array[i] = array[r]);
}

По сути, более пацанский вариант от Tails.

Silicium
04.10.2011, 17:41
Блин, твои ответы обожаю!

Добавлено через 29 часов 1 минуту
Хотя твой вариант роляет только если в массиве числа...