Zitat von
ManuMF:
Die andere Lösung funktionoiert auch. Ich werde mir mal beide merken.
Aber welche ist besser / schneller?
Du bist jünger als ich. Also bist du dran mit "Jugend forscht"
Bei sehr grossen Listen ist sortieren mit Quicksort und eliminieren der Duplikate wahrscheinlich schneller.
Wenn die Liste schon sortiert ist, dann gibt's noch folgende Funktion:
Delphi-Quellcode:
function RemoveDups(s:TStrings):Integer;
var
i : Integer;
s_old : string;
begin
s_old := '999678568';
Result := 0;
Assert(assigned(s));
TrimTStrings(s);
for i := s.Count-1 downto 0 do
begin
if s[i] = s_old then
begin
s.Delete(i);
Inc(Result);
end
else
s_old := s[i];
end;
end;