31.2.2 Implementierung
 
Download:
Sortieren. java
In der Klasse Sortieren, die wir im letzten Kapitel '13.1 Sortieren durch Einfügen' implementieren wir die öffentliche Methode quickSort(int[] liste) und die private Methode  quickSort(int[] liste, int untereGrenze, int obere Grenze). Die zweite führt den eigentlichen Algorithmus durch. Sie wird nur von quickSort(int[] liste) aufgerufen und ist deshalb privat.
public static void quickSort(int[] liste){

  int untereGrenze = 0;

  int obereGrenze = liste.length-1;

  quickSort(liste, untereGrenze,obereGrenze);

}



private static void quickSort(int[] liste, 

                              int untereGrenze, 

                              int obereGrenze) {

  int links = untereGrenze;

  int rechts = obereGrenze;

  int pivot = liste[((untereGrenze + obereGrenze) / 2)];

  do {

    while (liste[links] < pivot) {

      links++;

    }

    while (pivot < liste[rechts]) {

      rechts--;

    }

    if (links <= rechts) {

      int tmp = liste[links];

      liste[links] = liste[rechts];

      liste[rechts] = tmp;

      links++;

      rechts--;

    }

  } while (links <= rechts);

  if (untereGrenze < rechts) {

     liste = quickSort(liste, untereGrenze, rechts);

  }

  if (links < obereGrenze) {

     liste = quickSort(liste, links, obereGrenze);

  }

}
Download:
SortierenDemo. java
Die schon für das Sortieren durch Einfügen benutzte Demoklasse können wir auch hier benutzen. Wir müssen lediglich die Aufruf der Methode

Sortieren.einfuegen(liste);

durch

Sortieren.quickSort(liste);

zu ersetzen.

zu 31.2.3 Übungen (BubbleSort)
zur Startseite www.pohlig.de  (C) MPohlig 2004