Просмотр полной версии : Рандомная сортировка чисел в массиве.
deman455
18.05.2010, 12:54
Как сортировать числа в массиве рандомно?
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=
самый гениальный способ, лучше не найти.
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 минуту
Хотя твой вариант роляет только если в массиве числа...
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.