Apps für Android programmieren leicht gemacht!
Bubble Sort in Java

Bubble Sort

Ab und an kann es bei der Programmierung mal darauf ankommen, einen eigenen Sortieralgorithmus zu programmieren. Gut zugegeben, in den meisten Fällen gibt es bereits vorgefertigte Algorithmen/Funktionen, derer man sich ganz einfach bedienen kann.
Doch wir wollen in diesem Artikel mal davon ausgehen wir müssen selber einen Sortieralgorithmus schreiben.

Achtung: Sortieralgorithmen können in den Abiturklausuren in Informatik dran kommen.

In diesem Artikel wollen wir uns nun einmal dem Verfahren des Bubble Sort näher anschauen. Dabei durchläuft der Algorithmus einen Array immer n^2 mal. Ist unser Array also 5 Einträge lang wird dieser 25 mal durchlaufen. Klingt nicht sehr effizient und ist es auch nicht, aber Bubble Sort ist sehr einfach zu implementieren.

Der Algorithmus des Bubble Sort geht unser Array nun durch und schaut sich die momentane Stelle an. Dann vergleicht er die Stelle rechts davon und wenn die Stelle rechts kleiner ist als die momentane Stelle werden sie wie Blasen ausgetauscht. Daher auch der Name Bubble Sort.

Haben wir an Stelle 1 eine 5 und an Stelle 2 haben wir eine 3 dann werden die beiden zahlen getauscht, da 3 kleiner ist als 5 und damit im Array weiter links stehen muss.

Dieser Vorgang wird nun n^2 mal wiederholt und der Array ist sortiert.

 

Folgende Implementation wird ein Array mit enthaltenen Zahlen übergeben. Ein von klein nach groß sortierter Array wird zurück gegeben.

public int[] BubbleSort(int[] array){

   int temp = 0;

   for(i = 0; i < array.lenght; i++){
      for(j = 0; j < array.lenght; j++){
         if(array[ j ] > array[ j + 1 ]){
            temp = array[ j ];
            array[ j ] = array[ j + 1 ];
            array[ j + 1 ] = temp;
         }
      }
   }
   return array;
}

Marvin

Ich bin 23 Jahre jung und studiere zurzeit Wirtschaftsinformatik an der Georg-August-Universität in Göttingen. Ich bin ein Mensch, der sich neben der Programmierung noch für tausend andere Dinge interessiert, die mal mehr und mal weniger verrückt sind. Vor allem aber bin ich Feuer und Flamme mit der Programmierung von eigenen kleinen Apps und Programmen, die mein Leben bereichern.

Kommentar hinzufügen

*Pflichtfeld