|
Neue Wiki Eintrage finden Sie unter easy-coding.de/wiki.
Beispiel
bubblesort.java public class BubbleSort {
public static void sort(int[] array) {
// Wir nehmen erstmal an, dass das Array sortiert ist.
boolean sortiert = true;
do {
sortiert = true;
// Nun gehen wir das Array komplett durch...
for (int i = 1; i < array.length; i++) {
// und vergleichen jedes Element mit dem linken Nachbar,
// darum fängt die for-Schleife auch mit 1 an und nicht mit 0.
if (array[i - 1] > array[i]) {
// Sollte das linke Element größer sein als das rechte,
// so werden diese beiden vertauscht.
final int tmp = array[i - 1];
array[i - 1] = array[i];
array[i] = tmp;
// Und wir merken uns, dass das Array eben doch
// nicht sortiert war.
sortiert = false;
}
}
// Den obigen Code müssen wir nun so lange ausführen,
// bis keine Vertauschungen mehr nötig sind.
// Dies ist genau dann der Fall, wenn das array sortiert ist.
} while (!sortiert);
// Diese Methode braucht auch keinen Rückgabewert,
// da das übergebene Array modifiziert wird.
}
// nur zum Testen
public static void main (String[] args ) {
int[] test = {52,654,15,994,2,35,12,5,7,9};
sort(test);
for (int i=0; i<test.length; i++) {
}
}
}
|