Ich versuche das gerade zu implementieren und so stimmt es leider auch nicht. Soweit ich das sehe muss hinter die Zeile // Tausche Pivotelement (daten[rechts]) mit neuer endgültiger Position (daten[i]) noch der Code falls daten[i] < pivot i := i + 1 Dieser Fall tritt dann auf, wenn gegen Ende des Durchlaufes i und j genau gleich sind und auf ein Element zeigen, das in die linke Liste sollte. Dieses Element würde dann jedoch nach dem alten Code mit dem Pivot-Element vertauscht werden, also an das Ende der Liste gesetzt, was falsch ist. Wadi 18:35, 2. Jan. 2010 (CET)