2009年7月2日星期四

[PerlChina] Re: 请教perl如何随机排列数组项?

这个挺不错的

2009/7/3 wd <wd@wdicc.com>:
> 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];
> }
> }
>
> 搜到的。传一个 array ref 进去,最好加一个数组是不是空的判断。
>
> 2009/7/3 purl lamp <lamp.purl@gmail.com>
>>
>> sort { rand 1 > 0.5 } (1..10)
>>
>> 2009/7/3 imxae <imx365ster@gmail.com>
>>>
>>> 用这个是不是太复杂了?
>>>
>>>
>>
>>
>>
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛"PerlChina Mongers 讨论组"论坛。
要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛
-~----------~----~----~----~------~----~------~--~---

没有评论: