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