Da die Hauptarbeit durch die partition-Funktion übernommen wird, muss nur noch ein Verfahren erstellt
werden, welches dafür sorgt, die Aufteilung der Menge entsprechend durchzuführen. Durch eine rekursive Implementierung
ist dies sehr einfach zu bewerkstelligen. Die nachfolgende Funktion soll eine Möglichkeit verdeutlichen.
Es wird überprüft, ob die zu behandelnde Menge mehr als ein Element enthält. Trifft dies nicht zu, so ist keine Teilung
(Partitionierung) notwendig. Im anderen Fall, wird die Partitionierung auf der Teilmenge ausgeführt, und die Menge getrennt.
Die so entstandenen Teilmengen werden mit dem QuickSort unabhängig voneinander für sich sortiert.
Man beachte, dass bei der Trennung der Menge das Pivotelement in keine der entstehenden Menge aufgenommen
wird, da es schon auf seiner richtigen Position liegt.
Die folgend implementierte Funktion wird mit der Addresse des Arrays,
dem Startindex und dem Index des letzten Elements (N-1) aufgerufen.
Nächste Seite
Aufwärts
Vorherige Seite
Inhalt
Nächste Seite: iterativ (nicht rekursiv)
Aufwärts: Implementierung
Vorherige Seite: Implementierung
Inhalt
2002-05-09