Einzelnen Beitrag anzeigen

Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#4

AW: Hab ein Stack Overflow, wenn ich mein Quicksort ausprobiere :(

  Alt 8. Sep 2017, 18:31
Ich habe das aus meinem Schulbuch, wo es auch als Quicksort beschrieben wurde
Ja, zog es auch schon vorsichtig zurück. Das Pivotelement läßt sich meinetwegen auch aus der Mitte entnehmen / gewinnen.

Die Prozedur ruft sich immer und immer wieder selbst auf, anstatt daß sich dieses Vorgehen irgendwann beendet. Deshalb ist der Stack irgendwann erschöpft.

j muß sich im Verlaufe der Aufrufe immer mehr 0, i immer mehr 999 annähern. Tut es das? Höchstwahrscheinlich nicht.

Edit: nimm mal statt

Mitte:=Zahl[(0+999) div 2];

besser

Mitte:= (i+j) div 2; (und nicht "Zahl[(i+j)"!)

Geändert von Delphi-Laie ( 8. Sep 2017 um 18:36 Uhr)
  Mit Zitat antworten Zitat