Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
Delphi 10.4 Sydney
|
AW: TList.Sort
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)
|
|
Zitat
|