Help for this page

Select Code to Download


  1. or download this
    sub fisher_yates_shuffle {
        my $array = shift;
        my $i;
    ...
            @$array[$i,$j] = @$array[$j,$i];
        }
    }
    
  2. or download this
    for (0..($#arr-1)) {
        $n = int (rand() * ($#arr - $_ + 1)) + $_;
        $t = $arr[$n];
        $arr[$n] = $arr[$_];
        $arr[$_] = $t;
    }
    
  3. or download this
    for (0..($#arr-1)) {
        $n = int (rand() * ($#arr - $_ + 1)) + $_;
    
  4. or download this
        $t = $arr[$n];
        $arr[$n] = $arr[$_];
        $arr[$_] = $t;
    
  5. or download this
    }
    
  6. or download this
    for (0..($#arr-1)) {
        $n = int (rand() * ($#arr - $_ + 1)) + $_;
    
  7. or download this
        @$arr[$_,$n] = @$arr[$n,$_];
    
  8. or download this
    }
    
  9. or download this
    for (0..($#arr-1)) {
        $n = int (rand() * ($#arr - $_ + 1)) + $_;
    
  10. or download this
    #   next if $_ == $n;
    
  11. or download this
        @$arr[$_,$n] = @$arr[$n,$_];
    }
    
  12. or download this
    for (0..($#arr-1)) {          # Your Version
        $n = int (rand() * ($#arr - $_ + 1)) + $_;
    
    for ($i = @$array; --$i; ) {  # Fisher-Yates
        my $j = int rand ($i+1);
    
  13. or download this
    for (0..($#arr-1)) {
        $n = int (
    
  14. or download this
            rand() * ($#arr - $_ + 1)
    
  15. or download this
        ) + $_;
    #   next if $_ == $n;
        @$arr[$_,$n] = @$arr[$n,$_];
    }
    
  16. or download this
    for (0..($#arr-1)) {
        $n = int (
    
  17. or download this
            rand($#arr - $_ + 1)
    
  18. or download this
        ) + $_;
    #   next if $_ == $n;
        @$arr[$_,$n] = @$arr[$n,$_];
    }
    
  19. or download this
    for (0..($#arr-1)) {
        $n = int (rand($#arr - $_ + 1))
    
  20. or download this
            + $_
    
  21. or download this
        ;
    #   next if $_ == $n;
        @$arr[$_,$n] = @$arr[$n,$_];
    }