Einzelnen Beitrag anzeigen

Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#12

AW: Quicksort-Rätsel

  Alt 12. Nov 2014, 23:02
Hmm, okay, auf den zweiten Blick:

Delphi-Quellcode:
    while Less(tStart, 0) do Inc(tStart);
    while Less(0, tStop) do Dec(tStop);
Fehlt da nicht jeweils eine Abbruchbedingung gegen das Überschreiten der Array-Grenzen?

Edit: Außerdem:

aData[0] := aData[(tStart + tStop) DIV 2];
Da wird das erste Element ja einfach überschrieben. Wenn dann müsstest du die beiden Elemente vertauschen. Oder du lässt dieses Implementierungsdetail einfach weg und speicherst das Pivot-Element in einer lokalen Variable zwischen.

Geändert von Namenloser (12. Nov 2014 um 23:05 Uhr)
  Mit Zitat antworten Zitat