Slowsort

Aus SibiWiki
Version vom 23. Januar 2022, 18:16 Uhr von Akaibel (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Slowsort ist ein langsamer, rekursiver Sortieralgorithmus. Es ist eine Quicksort Parodie und wurde um 1986 veröffentlicht.

Laufzeit

TODO

Einsatz von Slowsort in Java

Aufruf in der Main-Methode


Slowsort slow = new Slowsort();
slow.Slowsort(Datentyp, Anfang, Ende);
System.out.print(Arrays.toString(Datentyp));

Sortieren von Zahlen


private void Slowsort(int[] zahl, int i, int j) {
   if (i >= j) {
      return;
   }
   int m = (i + j) / 2;
   Slowsort(zahl, i, m);
   Slowsort(zahl, m + 1, j);
   if (zahl[j] < zahl[m]) {
      int hilfs = zahl[j];
      zahl[j] = zahl[m];
      zahl[m] = hilfs;
   }
   Slowsort(zahl, i, j - 1);
}

Sortieren von Strings


private void Slowsort(String[] text, int i, int j) {
   if (i >= j) {
      return;
   }
   int m = (i + j) / 2;
   Slowsort(text, i, m);
   Slowsort(text, m + 1, j);
   if (text[j].compareTo(text[m])<0) {
      String hilfs = text[j];
      text[j] = text[m];
      text[m] = hilfs;
   }
   Slowsort(text, i, j - 1);
}