Online
Registriert seit: 17. Jul 2005
900 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.
Being smart will count for nothing if you don't make the world better. You have to use your smarts to count for something, to serve life, not death.
Geändert von Gausi ( 7. Sep 2024 um 08:20 Uhr)
|