Slowsort: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
[[Kategorie:Sortierverfahren]] | [[Kategorie:Sortierverfahren]] | ||
[[Kategorie:Informatik]] | |||
Slowsort ist ein langsamer, rekursiver [[Sortierverfahren|Sortieralgorithmus]]. Es ist eine [[Quicksort|Quicksort]] Parodie und wurde um 1986 veröffentlicht. | Slowsort ist ein langsamer, rekursiver [[Sortierverfahren|Sortieralgorithmus]]. Es ist eine [[Quicksort|Quicksort]] Parodie und wurde um 1986 veröffentlicht. | ||
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> | ||
Slowsort slow = new Slowsort(); | Slowsort slow = new Slowsort(); | ||
slow.Slowsort('''Datentyp''', '''Anfang''', '''Ende'''); | slow.Slowsort('''Datentyp''', '''Anfang''', '''Ende'''); | ||
System.out.print(Arrays.toString('''Datentyp''')); | System.out.print(Arrays.toString('''Datentyp''')); | ||
</code> | </code> | ||
=== Sortieren von Zahlen === | === Sortieren von Zahlen === | ||
<code> | <code> | ||
private void Slowsort(int[] zahl, int i, int j) { | private void Slowsort(int[] zahl, int i, int j) { | ||
if (i >= j) { | if (i >= j) { | ||
Zeile 29: | Zeile 29: | ||
Slowsort(zahl, i, j - 1); | Slowsort(zahl, i, j - 1); | ||
} | } | ||
</code> | </code> | ||
=== Sortieren von Strings === | === Sortieren von Strings === | ||
<code> | <code> | ||
private void Slowsort(String[] text, int i, int j) { | private void Slowsort(String[] text, int i, int j) { | ||
if (i >= j) { | if (i >= j) { | ||
Zeile 46: | Zeile 46: | ||
Slowsort(text, i, j - 1); | Slowsort(text, i, j - 1); | ||
} | } | ||
</code> | </code> |
Aktuelle Version vom 23. Januar 2022, 18:16 Uhr
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);
}