Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Рандомная сортировка чисел в массиве. (http://www.flasher.ru/forum/showthread.php?t=140027)

deman455 18.05.2010 12:54

Рандомная сортировка чисел в массиве.
 
Как сортировать числа в массиве рандомно?

udaaff 18.05.2010 13:04

http://www.google.com/search?hl=ru&n...=&oq=&gs_rfai=

Tails 18.05.2010 22:24

самый гениальный способ, лучше не найти.
Код AS1/AS2:

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

Код AS1/AS2:

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

Самый лучший :)
Код AS3:

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 минуту
Хотя твой вариант роляет только если в массиве числа...


Часовой пояс GMT +4, время: 15:46.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.