Shakersort: Unterschied zwischen den Versionen

Aus SibiWiki
Zur Navigation springen Zur Suche springen
 
Zeile 8: Zeile 8:
==Einsatz von Slowsort in Java==
==Einsatz von Slowsort in Java==
===Aufruf in der Main-Methode===
===Aufruf in der Main-Methode===
<code>
<code>
  Shakersort shaker = new Shakersort();
  Shakersort shaker = new Shakersort();
  shaker.Shakersort.Slowsort('''Datentyp''');
  shaker.Shakersort.Slowsort('''Datentyp''');
  System.out.print(Arrays.toString('''Datentyp'''));
  System.out.print(Arrays.toString('''Datentyp'''));
</code>
</code>
=== Sortieren von Zahlen ===
=== Sortieren von Zahlen ===
<code>
<code>
  private void Shakersort(int[] zahl) {
  private void Shakersort(int[] zahl) {
     int beginn = -1;
     int beginn = -1;
Zeile 44: Zeile 44:
     }
     }
  }
  }
</code>
</code>
===Sortieren von Strings===
===Sortieren von Strings===
<code>
<code>
  private void Shakersort(String[] text) {
  private void Shakersort(String[] text) {
     int beginn = -1;
     int beginn = -1;
Zeile 76: Zeile 76:
     }
     }
  }
  }
</code>
</code>

Aktuelle Version vom 23. Januar 2022, 18:16 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;
         }
      }
   }
}