Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Pavel Ammosov                        2:5020/52      22 Jul 2001  04:27:14
 To : Serguei Trouchelle
 Subject : Re: случайная выбоpка хэша
 -------------------------------------------------------------------------------- 
 
 
 ST>Есть хэш.
 ST>Hеобходимо случайным обpазом выбpать из него несколько элементов.
 ST>Каким обpазом это лучше всего pеализовать?
 
 Я бы применил fisher_yates_shuffle из Cookbook 4.17 по keys %hash, 
 но может оказаться и какое-нибудь более эффективное решение.
 
 # fisher_yates_shuffle( \@array ) : generate a random permutation
 # of @array in place
 sub fisher_yates_shuffle {
    my $array = shift;
    my $i;
    for ($i = @$array; --$i; ) {
        my $j = int rand ($i+1);
        next if $i == $j;
        @$array[$i,$j] = @$array[$j,$i];
    }
 }
 
 -- 
 Pavel Ammosov                                               O    \
 apavel@aha.ru                                                 __  )
 http://isabase.philol.msu.ru/~apavel/                             )
 wget -O - isabase.philol.msu.ru/~apavel/key.asc|pgp -fka    O    /
 
 --- FIDOGATE 4.4.0-snp10
  * Origin: Zenon N.S.P. news server (2:5020/52.0)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 случайная выбоpка хэша   Serguei Trouchelle   20 Jul 2001 16:11:44 
 Re: случайная выбоpка хэша   Pavel Ammosov   22 Jul 2001 04:27:14 
 Re: случайная выбоpка хэша   Alexander Babanov   23 Jul 2001 11:43:37 
Архивное /ru.perl/291182d13e107.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional