Easy Coding
  Forum Wiki Tagging Projekte Karte RSS
» Start
» All Recent Changes
» Wiki Suche
» Wiki Hilfe

Algorithmen

How To's Informationen

edit SideBar

Neue Wiki Eintrage finden Sie unter easy-coding.de/wiki.

Bubblesort

Beispiel

bubblesort.java
  1. public class BubbleSort {
  2.  
  3.   public static void sort(int[] array) {
  4.       // Wir nehmen erstmal an, dass das Array sortiert ist.
  5.       boolean sortiert = true;
  6.       do {
  7.           sortiert = true;
  8.           // Nun gehen wir das Array komplett durch...
  9.           for (int i = 1; i < array.length; i++) {
  10.               // und vergleichen jedes Element mit dem linken Nachbar,
  11.               // darum fängt die for-Schleife auch mit 1 an und nicht mit 0.
  12.               if (array[i - 1] > array[i]) {
  13.                   // Sollte das linke Element größer sein als das rechte,
  14.                   // so werden diese beiden vertauscht.
  15.                   final int tmp = array[i - 1];
  16.                   array[i - 1] = array[i];
  17.                   array[i] = tmp;
  18.                   // Und wir merken uns, dass das Array eben doch
  19.                   // nicht sortiert war.
  20.                   sortiert = false;
  21.               }
  22.           }
  23.           // Den obigen Code müssen wir nun so lange ausführen,
  24.           // bis keine Vertauschungen mehr nötig sind.
  25.           // Dies ist genau dann der Fall, wenn das array sortiert ist.
  26.       } while (!sortiert);
  27.       // Diese Methode braucht auch keinen Rückgabewert,
  28.       // da das übergebene Array modifiziert wird.
  29.   }
  30.  
  31.   // nur zum Testen
  32.   public static void main(String[] args) {
  33.     int[] test = {52,654,15,994,2,35,12,5,7,9};
  34.     sort(test);
  35.     for (int i=0; i<test.length; i++) {
  36.       System.out.println(test[i]);
  37.     }
  38.   }
  39. }
Zuletzt geändert am 23.08.2007 19:45 Uhr
  Impressum