Registriert seit: 17. Jul 2005
885 Beiträge
Delphi 11 Alexandria
|
AW: Algorithmen um Listen abzugleichen
7. Sep 2024, 08:08
Einfach so runtergeschrieben:
Delphi-Quellcode:
function TestListIsValid(TestListe, ReferenzListe: TSomeList): boolean;
var
idxR, idxT: Integer;
begin
idxR := 0;
idxT := 0;
// Hauptschleife: Die Testliste durchgehen
while (idxT <= TestListe.Count - 1) and (idxR <= ReferenzListe.Count - 1) do begin
// nächste Übereinstimmung in der Referenzliste suchen
while (TestListe[idxT] <> ReferenzListe[idxR]) and (idxR < ReferenzListe.Count - 1) do
inc(idxR);
if TestListe[idxT] = ReferenzListe[idxR] then begin
// Übereinstimmung gefunden, in beiden Listen eins weiter gehen
inc(idxT);
inc(idxR);
end;
end;
// Die Testliste passt, wenn man die Testliste komplett durchlaufen hat.
Result := idxT = TestListe.Count;
end;
Laufzeit: Linear in der Länge der Listen.
The angels have the phone box.
Geändert von Gausi ( 7. Sep 2024 um 08:20 Uhr)
|