
zeigt Ihnen wie es geht.
Bei der zufälligen Verteilung der Elemente eines Arrays muss man berücksichtigen, dass jedes Element gleichwertig zufällig ausgewählt werden soll. Eine Möglichkeit dazu ist die Änderung des Bereiches der Zufallszahlen auf den tatsächlich möglichen Wert für das betreffende, zufällig auszuwählende Element. Dies erfolgt durch Mischen nach dem Algorithmus nach Fischer-Yates.
sub mischeListe{
@liste = qw(eins zwei drei vier funf sechs sieben acht neuen);
for($i = @liste; --$i; ){
$j = int rand ($i+1);
next if $i == $j;
@liste[$i,$j] = @liste[$j,$i];
}
}
mischeListe();
print "@liste";
|