Quick sort mit mittlere element als pivot

Mein Verständnis der schnellen Sorte ist

  1. Wähle ein pivot-element (in diesem Fall wähle ich mittlere element als
    pivot)
  2. Initialisieren linken und rechten Zeiger auf Extreme.
  3. Hier finden Sie das erste element auf der linken Seite des Drehpunktes, die größer ist als das pivot.
  4. Ebenso finden Sie das erste element auf der rechten Seite des pivot, der kleiner als der pivot -
  5. Swap-Elemente in 3 und 4.
  6. Wiederholen 3,4,5, es sei denn, Links >= rechts.
  7. Wiederholen Sie das ganze für linken und rechten subarray als pivot ist jetzt an seinem Platz.

Ich bin sicher, ich bin hier etwas fehlt, und das sehr dumm. Aber oben scheint nicht zu funktionieren fot dieses array:

  8,7,1,2,6,9,10,2,11 pivot: 6  left pointer at 8, right pointer at 11
  2,7,1,2,6,9,10,8,11 swapped 2,8  left pointer at 7, right pointer at 10

Was nun ? Es gibt kein element, die kleiner als 6 auf der rechten Seite.
Wie 7 wird zu gehen, um das Recht der 6 ?

InformationsquelleAutor Walt | 2015-01-11

Schreibe einen Kommentar