Thread schwarz'scher filter?: entferne dups aus array
(18 answers)
Opened by lichtkind at 2005-03-07 22:01 Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 use warnings; use strict; my @array = (23,1,2,3,4,2,3,5,8); my $cc; my @uniq = map { $_->[0] } sort { $a->[1] <=> $b->[1]} grep {! $_->[2]} sort { my $v = $a->[0] cmp $b->[0]; $a->[2] = 1 unless $v or $b->[2]; $v} map {[$_,$cc++]} @array; print "$_," for @uniq; das isser, optimierungsbedürftig aber er tut funzen kann man in diesem fall auch aus was ähnliches wie $. nur halt in dem map zurückgreifen? ein einfacher benchmark zeigte auf meinem mittel altem system (1300Duron mit viel ram) das bei einer arraylänge von 30 und 20 wiederholungen inclusive service routinen zur bereitstellung des inhalts des array aus internen quellen es erst in den messbaren bereich kommt(0.01 sec). klingt nach schnell genug\n\n <!--EDIT|lichtkind|1110333305--> ![]() kephra, baumhaus, garten, gezwitscher Es beginnt immer mit einer Entscheidung. |