Shakersort: Unterschied zwischen den Versionen

Aus SibiWiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „Kategorie:Sortierverfahren Shakersort oder auch Cocktailsort ist ein stabiler Sortieralgorithmus, der eine Reihe von Elementen sortie…“)
 
Zeile 1: Zeile 1:
[[Kategorie:Sortierverfahren]]
[[Kategorie:Sortierverfahren]]
 
[[Kategorie:Informatik]]
Shakersort oder auch Cocktailsort ist ein stabiler [[Sortierverfahren|Sortieralgorithmus]], der eine Reihe von Elementen sortiert.
Shakersort oder auch Cocktailsort ist ein stabiler [[Sortierverfahren|Sortieralgorithmus]], der eine Reihe von Elementen sortiert.



Version vom 11. April 2013, 22:59 Uhr

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