Hey, ich bin relativ neu auf dem Forum, also seid ein wenig nachsichtig
Ich habe ein kleines Sortierprogramm geschrieben und habe ein klein Stack-Overflow, wenn ich auf den Knopf drücke.
ich habe ein String Grid, wo auf der einen Seite die Zufälligen Zahlen stehen und auf der anderen Seite die Sortierten.
Hier mein Code:
Code:
procedure Quicksort(l,r: Integer);
var
i,j,Mitte,Merke: Integer;
begin
i:=0;
j:=999;
Mitte:=Zahl[(0+999) div 2];
repeat
while Zahl[i]<Mitte do Inc(i);
while Mitte<Zahl[j] do
Dec(j);
if i<=j then
begin
Merke:=Zahl[i];
Zahl[i]:=Zahl[j];
Zahl[j]:=Merke;
Inc(i);
Dec(j);
end;
until i>j;
if 0<j then Quicksort(0,j);
if i<999 then Quicksort(i,999);
end;
procedure TForm1.Button5Click(Sender: TObject);
var a:integer;
begin
Quicksort(0,999) ;
For a:=0 to 999 do
begin
StringGrid1.Cells[1,a] := inttostr(Zahl[a]);
end;
end;
Als Globale Variable habe ich "Zahl" als Array von 0 bis 999.
Zahl : Array[0..999] of Integer;
Ich bin noch recht unerfahren in Delphi, also bitte es leicht erklären