Servus
Ich habe zum sortieren eines Mehrdimensionalem hash ein Bubblesort programmiert.
Nur leider sortiert dieses nicht komplett durch.
Die ersten werden alle richtig eingeordnet nur irgentwann ist es dann vorbei mit der Sortierung.
Zum Aufbau meines Hashes
Es ist wie eine Tabelle aufgebaut,
$neu_alignment{'$key'}{} , der Key steht dann für die Namen die die einzelnden Zeilen haben.
$neu_alignment{'$key'}{$i} sind dann Buchstaben die zusammengesetzt den String mit dem namen $key ergeben.
Und in $neu_alignment{'quali'}{$i} ist immer die Qualität (ein numerischer wert) von der jeweiligen SPALTE des Hashes gespeichert. Nach diesem Wert soll das Hash sortiert werden.
Ich wäre euch sehr Dankbar wenn ihr mal drüber schauen würdet, da ich so langsam den Überblick verliere.
hier mal mein Code
my $anzahl_saetze = (scalar keys %neu_alignment)-1;
my %temp;
foreach my $test(%neu_alignment){
for(my $j=$length; $j>0; $j--) {
if($neu_alignment{'quali'}{$j-1} < $neu_alignment{'quali'}{$j} ) {
while (($key) = each(%neu_alignment)) {
$temp{$key} = $neu_alignment{$key}{$j-1};
}
while (($key) = each(%neu_alignment)) {
$neu_alignment{$key}{$j-1} = $neu_alignment{$key}{$j};
}
while (($key) = each(%temp)) {
$neu_alignment{$key}{$j} = $temp{$key};
}
}
}
}