Shakersort

Aus SibiWiki
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;
         }
      }
   }
}