1 kleiner Punkt - hier ist ein potenzieller Int-Überlauf:
(lo + hi) / 2
Nutzen Sie diese Gelegenheit, um zu lernen, wie man einen Komponententest schreibt. (Google auf "Junit" zum Beispiel). Generieren Sie große Arrays und stellen Sie sicher, dass diese korrekt sortiert sind, z. B. Arrays mit Zufallszahlen, Arrays mit 0, 1, Integer.MAX_INT. Versuchen Sie Dinge wie Integer-Überlauf und andere seltsame Ecken zu provozieren.
EDIT: Mein Fehler, dass ich das Java-Tag verpasst habe, tut mir leid ... Das unten ist C # generische quickSort ... Ich werde es hier sowieso für .net Leser lassen ...
Es sieht auf den ersten Blick gut aus, aber wie wäre es mit diesem generischen?
%Vor%Und hier ist eine Javascript-Version ... QuickSort (a, comp, desc)
desc ist boolean, um die Sortierreihenfolge umzukehren.
%Vor%