URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 4827
[ Назад ]

Исходное сообщение
"Разупорядочивание массива "

Отправлено artem , 08-Ноя-05 10:23 
Добрый день! Кто-нибудь может подсказать скрипт для разупорядочивания массива, состоящего из целых чисел?
Спасибо!

Содержание

Сообщения в этом обсуждении
"Разупорядочивание массива "
Отправлено madskull , 08-Ноя-05 10:52 
>Добрый день! Кто-нибудь может подсказать скрипт для разупорядочивания массива, состоящего из целых
>чисел?
>Спасибо!
Хм, прикольно...


@a=qw(1 2 3 4 5 6 7 8 9 10);
print join(" ",sort {rand(100)<=>rand(100)} @a);


"Разупорядочивание массива "
Отправлено artem , 08-Ноя-05 11:10 
>Хм, прикольно...
>
>
>@a=qw(1 2 3 4 5 6 7 8 9 10);
>print join(" ",sort {rand(100)<=>rand(100)} @a);

Пасиб!


"Разупорядочивание массива "
Отправлено ACCA , 15-Ноя-05 21:43 
man perlfaq4

>@a=qw(1 2 3 4 5 6 7 8 9 10);
>print join(" ",sort {rand(100)<=>rand(100)} @a);

Недостаточно хорошо. Нужно чуть сложнее:

           sub fisher_yates_shuffle {
               my $deck = shift;  # $deck is a reference to an array
               my $i = @$deck;
               while ($i--) {
                   my $j = int rand ($i+1);
                   @$deck[$i,$j] = @$deck[$j,$i];
               }
           }


"Разупорядочивание массива "
Отправлено nonSmoker , 01-Авг-06 16:40 
@arr = sort{int(rand(3))-1} @arr;