Ist dies eine korrekte Implementierung von Quicksort? [geschlossen]

7

Ich würde gerne überprüfen, ob dies eine korrekte Implementierung von QuickSort ist, es scheint die Aufgabe zu erledigen, aber verpasse ich etwas?

%Vor%

}

behoben:

%Vor%     
Roch 27.03.2009, 18:47
quelle

5 Antworten

0
%Vor%

Aus Ссылка

    
Roch 28.03.2009, 18:50
quelle
12

1 kleiner Punkt - hier ist ein potenzieller Int-Überlauf:

(lo + hi) / 2

    
RossFabricant 27.03.2009 18:50
quelle
8

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.

    
JesperE 27.03.2009 20:04
quelle
5

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%     
Charles Bretana 27.03.2009 18:53
quelle
1

Und hier ist eine Javascript-Version ... QuickSort (a, comp, desc)

  • a ist natürlich das zu sortierende Array.
  • comp ist die Vergleichsfunktion, die zwei Werte annehmen und -1, 0 oder +1 zurückliefern muss, abhängig davon, wie die 2 Argumente sortiert werden sollen.
  • desc ist boolean, um die Sortierreihenfolge umzukehren.

    %Vor%
Charles Bretana 28.03.2009 16:22
quelle

Tags und Links