Hier mal die grundelegende Quicksort-Funktion, diese kannst du sehr leicht in deinen Code einbauen, ich denke, das schaffst du dann schon.
Delphi-Quellcode:
//2 Zahlen tauschen
procedure TForm1.Swap(
var Zahl1, Zahl2: integer);
var h: integer;
begin
h := Zahl1;
Zahl1 := Zahl2;
Zahl2 := h;
end;
//Quicksort
procedure TForm1.QuickSort(
var Tab: TArray; HighIndex: integer);
//Tab: Array mit den unsortierten Zahlen
//HighIndex: Anzahl der Zahlen/Datensätze, die sortiert werden sollen
procedure Sort(links, rechts: integer);
var i, j, x: integer;
begin
i := links;
j := rechts;
x := Tab[(links + rechts)
div 2];
repeat
while Tab[i] < x
do inc(i);
while Tab[j] > x
do dec(j);
if i <= j
then
begin
Swap(Tab[i], Tab[j]);
inc(i);
dec(j);
end;
until i > j;
if links < j
then Sort(links, j);
if i < rechts
then Sort(i, rechts);
end;
begin
Sort(1, HighIndex);
end;
Ich hoffe, du verstehst das.
Wichtig ist hier, dass du einen Typ TArray hast:
Delphi-Quellcode:
type
TArray = array[1..20] of integer;
und natürlich die Deklaration der Variablen: