Gnomesort: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Zeile 8: | Zeile 8: | ||
==Einsatz von Gnomesort in Java== | ==Einsatz von Gnomesort in Java== | ||
=== Aufruf in der Main-Methode === | |||
<code> | |||
Gnomesort gnome = new Gnomesort(); | |||
gnome.Gnomesort('''Datentyp'''); | |||
System.out.print(Arrays.toString('''Datentyp''')); | |||
</code> | |||
=== Sortieren von Zahlen === | === Sortieren von Zahlen === | ||
<code> | <code> |
Aktuelle Version vom 12. April 2013, 10:36 Uhr
Gnomesort ist ein einfacher und Stabiler Sortieralgorithmus, der Ähnlichkeiten mit Bubblesort aufweist.
Funktionsweise
Man beginnt bei den ersten-index und vergleicht es mit den nullten-index, falls der erste-index größer/gleich den nullten-index ist, dann geht er weiter und vergleicht den zweiten-index mit den ersten-index, falls der erste-index kleiner ist als der nullte-index, dann werden sie vertauscht und man geht ein Schritt zurück. Falls man den nullten-index erreicht hat, dann setzt man den Index auf eins. Das ganze wird solange wiederholt, bis man den letzten Index erreicht hat.
Laufzeit
TODO
Einsatz von Gnomesort in Java
Aufruf in der Main-Methode
Gnomesort gnome = new Gnomesort();
gnome.Gnomesort(Datentyp);
System.out.print(Arrays.toString(Datentyp));
Sortieren von Zahlen
public void Gnomesort(int[] zahl) {
for (int index = 1; index < zahl.length;) {
if (zahl[index - 1] <= zahl[index]) {
index++;
} else {
int hilfs = zahl[index];
zahl[index] = zahl[index - 1];
zahl[index - 1] = hilfs;
index--;
if (index == 0) {
index = 1;
}
}
}
}
Sortieren von Strings
private void Gnomesort(String[] text) {
for (int index = 1; index < text.length;) {
if (text[index - 1].compareTo(text[index]) <= 0) {
index++;
} else {
String hilfs = text[index];
text[index] = text[index - 1];
text[index - 1] = hilfs;
index--;
if (index == 0) {
index = 1;
}
}
}
}