Hier die gleiche Frage wie im vorherigen Post und die Antwort dazu:
Zitat:
Es gibt einige Fehler in dem gegebenen Code, die korrigiert werden müssen. Hier ist eine korrigierte Version, die eine einfache Bubble-Sort-Implementierung für eine TStringList durchführt:
Delphi-Quellcode:
procedure Sort(const List: TStringList);
var
i, j: Integer;
temp: string;
begin
for i := 0 to List.Count - 2 do
for j := i + 1 to List.Count - 1 do
if List[i] > List[j] then
begin
temp := List[i];
List[i] := List[j];
List[j] := temp;
end;
end;
Zitat:
Die Änderungen, die ich vorgenommen habe, sind:
Hinzufügen von "var i, j: Integer;" - dies deklariert die Variablen "i" und "j" als Integer-Variablen und macht sie sichtbar für die gesamte Funktion.
Ändern von "if list[I]<list[j] then" zu "if List[i] > List[j] then" - dies ist die eigentliche Sortierungsberechnung, und das ursprüngliche Code-Snippet sortierte die Liste nicht korrekt.
Verwendung einer temporären Variablen "temp", um die Elemente bei Bedarf zu vertauschen.