Veröffentlicht 30. November 200915 j hallo, ich habe versucht das sortierprogramm quicksort zu programmieren. jedoch hängt sich das programm bei der ausführung immer auf. ich kann den fehler auch nirgendwo finden... procedure TForm1.Button5Click(Sender: TObject); var m: integer; procedure Quicksort (l,r: integer); var i,j,mitte,merke: integer; begin i:=l; j:=r; mitte:=zahlenf [(l+r) div 2]; repeat while zahlenf [i]<mitte do Inc (i); while mitte < zahlenf [j] do Dec (j); if i<=j then begin merke:=zahlenf[i]; zahlenf [i]:=zahlenf [j]; zahlenf [j]:=merke; Inc (i); Dec (j); end; until i<j; if l<j then Quicksort (l,j); if i<r then Quicksort (i,r); end; begin Quicksort (1,ende); for m:=1 to ende do begin memoausgabefeld(IntToStr(zahlenf[m])); end; end; end.
30. November 200915 j daran sollte es nicht liegen... das müsste eigentlich so funktionieren. denke eher das im unteren teil was nicht ganz richtig ist gruß
1. Dezember 200915 j Vergleich doch einfach Deinen Quellcode mit dem Pseudocode auf Quicksort ? Wikipedia
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.