![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
а! можно и не дублировать :)
хотя в принципе один хрен наверно, щас померяем что быстрее работает... Array.prototype.shuffle = function() {
var dummy = [];
while (this.length) {
var rnd = random(this.length);
var item = this[rnd];
this.splice(rnd, 1);
dummy.push(item);
}
this.splice.apply(this, new Array(0, this.length).concat(dummy));
};
ASSetPropFlags(Array.prototype, "shuffle", 3, 8);
//
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
a.shuffle();
trace(a);
Последний раз редактировалось Nox Noctis; 01.07.2004 в 18:29. |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
ыы... а можно еще и так ведь :))
правда что-то меня тут смущает... не могу понять что.. |
|
|||||
|
некрофил
Регистрация: Mar 2002
Адрес: ...по колено в кровище...
Сообщений: 2,292
|
Вскрытие показало, что вот этот
алгоритм - самый быстрый. 2мс на 320 элементов. Вариант с сортировкой - 75, остальные - за сотню.
__________________
...убивать людей не удовольствия ради, но для еды. |
|
|||||
|
Цитата:
var z = [0,0,0,0,0,0,0,0,0,0];
for(var x = 0; x<1000; x++)
{
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
fsort = function () {
return random(2)
}
a.sort(fsort);
for(var i = 0; i<10; i++)
if(a[i] == 0) z[i]++;
}
trace(z);
45,61,83,95,128,124,112,137,114,101 |
|
|||||
|
Цитата:
97,113,86,111,106,94,95,97,105,96 |
|
|||||
|
Вот так лучшее распределение:
|
|
|||||
|
[++]
|
|
|
|||||
|
не, с -1 вообще не работает
надо наверное хелп посмотреть ;-) |
|
|||||
|
Guest
Сообщений: n/a
|
вы меня реально спасли
заказчик торопир начальник дергается а меня на простой задаче заклинило P.S. не надо так много о массивах думать, а то как меня заклинит ^_^ |
|
|||||
|
Guest
Сообщений: n/a
|
спасибо то есть
|
![]() |
Часовой пояс GMT +4, время: 22:23. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|