Thema: TList.Sort

Einzelnen Beitrag anzeigen

Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: TList.Sort

  Alt 6. Sep 2011, 00:09
Achso, TList.Sort benutzt bei var die entsprechenden dahinterliegenden Daten.

Delphi-Quellcode:
procedure QuickSort(SortList: PPointerList; L, R: Integer;
  SCompare: TListSortCompare);
var
  I, J: Integer;
  P, T: Pointer;
begin
  repeat
    I := L;
    J := R;
    P := SortList^[(L + R) shr 1];
    repeat
      while SCompare(SortList^[I], P) < 0 do
        Inc(I);
      while SCompare(SortList^[J], P) > 0 do
        Dec(J);
      if I <= J then
      begin
        T := SortList^[I];
        SortList^[I] := SortList^[J];
        SortList^[J] := T;
        Inc(I);
        Dec(J);
      end;
    until I > J;
    if L < J then
      QuickSort(SortList, L, J, SCompare);
    L := I;
  until I >= R;
end;

function AIntegerCompare2(var Item1, Item2: TItem): integer; // Record
begin
  Result:= 0;
  if Item1.AInteger > Item2.AInteger then
    Result:= 1
  else
    if Item1.AInteger < Item2.AInteger then
      Result:= -1
end;

Geändert von Bjoerk ( 6. Sep 2011 um 00:12 Uhr)
  Mit Zitat antworten Zitat