How do I shuffle an array randomly?
方法一:
使用List::Util模組

use List::Util 'shuffle';
@shuffled = shuffle(@list);

方法二:
使用Fisher-Yates shuffle

sub fisher_yates_shuffle {
 my $deck = shift;
 my $i = @$deck;
 while ($i--) {
  my $j = int rand ($i+1);
  @$deck[$i,$j] = @$deck[$j,$i];
 }
}

jck11 發表在 痞客邦 PIXNET 留言(0) 人氣()