Thread Arrays: Pärchen zählen
(12 answers)
Opened by hugenyn at 2012-01-28 01:17
Das kommt darauf an, was Du erreichen willst. In Deinem Beispiel entfernst Du (nur) das erste vorkommende Paar-Element aus dem @mann-Array, warum? Was soll passieren, wenn ein Element in @frau mehrfach vorkommt, aber in @mann nur einmal? Oder in beiden Arrays mehrfach?
Bei größeren Arrays ist es oft effizienter, statt der wiederholten Iteration die Array-Elemente als Keys eines Hashes abzulegen und dann lookups durchzuführen, zum Beispiel gibt folgendes die Zahl der Paare aus, die mindestens einmal gefunden wurden (ohne etwas zu entfernen): Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 use strict; my @frau = qw /bl ge gr br sw rt/; my @mann = qw /ge bl bl br sw rt/; my $paar; my %fr = map { $_, 1 } @frau; my %ma = map { $_, 1 } @mann; for (keys %ma) { $paar++ if exists $fr{$_}; } print "Paare: $paar\n"; Editiert von FIFO: Typo, Arrays fehlten Last edited: 2012-01-28 11:21:54 +0100 (CET) Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it? -- Brian Kernighan: "The Elements of Programming Style"
|