karl92 Geschrieben 30. November 2009 Geschrieben 30. November 2009 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. Zitieren
Klotzkopp Geschrieben 30. November 2009 Geschrieben 30. November 2009 Deine Schleifenabbruchbedingung ist Käse. Zitieren
karl92 Geschrieben 30. November 2009 Autor Geschrieben 30. November 2009 daran sollte es nicht liegen... das müsste eigentlich so funktionieren. denke eher das im unteren teil was nicht ganz richtig ist gruß Zitieren
VaNaTiC Geschrieben 1. Dezember 2009 Geschrieben 1. Dezember 2009 Vergleich doch einfach Deinen Quellcode mit dem Pseudocode auf Quicksort ? Wikipedia Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.