Gnomesort: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(Die Seite wurde neu angelegt: „Kategorie:Sortierverfahren Kategorie:Informatik '''Gnomesort''' ist ein einfacher und Stabiler Sortieralgorithmus, der Ähnlichkeiten mit [[Bubblesort]…“) |
|||
Zeile 33: | Zeile 33: | ||
index++; | index++; | ||
} else { | } else { | ||
String | String hilfs = text[index]; | ||
text[index] = text[index - 1]; | text[index] = text[index - 1]; | ||
text[index - 1] = | text[index - 1] = hilfs; | ||
index--; | index--; | ||
if (index == 0) { | if (index == 0) { |
Version vom 12. April 2013, 08:24 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
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;
}
}
}
}