Shakersort

Aus SibiWiki
Version vom 11. April 2013, 00:46 Uhr von FTchalabi (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Kategorie:Sortierverfahren Shakersort oder auch Cocktailsort ist ein stabiler Sortieralgorithmus, der eine Reihe von Elementen sortie…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen


Shakersort oder auch Cocktailsort ist ein stabiler Sortieralgorithmus, der eine Reihe von Elementen sortiert.

Laufzeit

TODO

Einsatz von Slowsort in Java

Aufruf in der Main-Methode

Shakersort shaker = new Shakersort();
shaker.Shakersort.Slowsort(Datentyp);
System.out.print(Arrays.toString(Datentyp));

Sortieren von Zahlen

private void Shakersort(int[] zahl) {
   int beginn = -1;
   int ende = zahl.length-2;
   while (beginn<ende) {
      boolean vertauscht = false;
      beginn++;
      for (int i = beginn; i<= ende; i++) {
         if (zahl[i] > zahl[i + 1]) {
            int hilfs = zahl[i];
            zahl[i] = zahl[i + 1];
            zahl[i + 1] = hilfs;
            vertauscht = true;
         }
      }
      if (!vertauscht) {
         break;
      }
      vertauscht = false;
      ende--;
      for (int i = beginn; i<= ende; i++) {
         if (zahl[i] > zahl[i + 1]) {
            int hilfs = zahl[i];
            zahl[i] = zahl[i + 1];
            zahl[i + 1] = hilfs;
            vertauscht = true;
         }
      }
   }
}

Sortieren von Strings

private void Shakersort(String[] text) {
   int beginn = -1;
   int ende = text.length - 2;
   while (beginn < ende) {
      boolean vertauscht = false;
      beginn++;
      for (int i = beginn; i <= ende; i++) {
         if (text[i].compareTo(text[i + 1])>0) {
            String hilfs = text[i];
            text[i] = text[i + 1];
            text[i + 1] = hilfs;
            vertauscht = true;
         }
      }
      if (!vertauscht) {
         break;
      }
      vertauscht = false;
      ende--;
      for (int i = beginn; i <= ende; i++) {
         if (text[i].compareTo(text[i + 1])>0) {
            String hilfs = text[i];
            text[i] = text[i + 1];
            text[i + 1] = hilfs;
            vertauscht = true;
         }
      }
   }
}