Zitat von
DeddyH:
Delphi-Quellcode:
procedure QuickSort(
var A:
array of Integer; iLo, iHi: Integer);
var
Lo, Hi, Mid, T: Integer;
begin
Lo := iLo;
Hi := iHi;
Mid := A[(Lo + Hi)
div 2];
repeat
while A[Lo] < Mid
do Inc(Lo);
while A[Hi] > Mid
do Dec(Hi);
if Lo <= Hi
then
begin
//VisualSwap(A[Lo], A[Hi], Lo, Hi);
T := A[Lo];
A[Lo] := A[Hi];
A[Hi] := T;
Inc(Lo);
Dec(Hi);
end;
until Lo > Hi;
if Hi > iLo
then QuickSort(A, iLo, Hi);
if Lo < iHi
then QuickSort(A, Lo, iHi);
//if Terminated then Exit; überflüssig, da Du keinen Thread verwendest
end;
Aufruf dann mit QuickSort(DeinArray,Low(DeinArray),High(DeinArray) ). Das packst Du in die Ereignisroutine von ButtonQuicksortClick.
Also wär das dann in meinem Fall:
procedure btnQuickSortClick(a[i],Low[i],High[i]);
?
also ich weiß es halt echt net so genau... sry...