Bubblesort
- in-Place Verfahren: für die Sortierung wird kein weiterer Speicher benötigt
- das Maximum steigt wie eine Luftblase nach oben
- stabiler Sortieralgorithmus
- wenig effizient, daher eher von akademischem Interesse
- Laufzeitkomplexität:
- Best: O(n)
- Average: O(n²)
- Worst: O(n²)
Pseudocode
Funktion BubbleSort(array)
FOR i := 1 bis Länge[array] DO
FOR j := 0 bis Länge[array] - 1 DO
IF array[j] > array[j + 1] THEN
vertausche array[j] <-> array[j + 1]
Ergebnis := array
- Python
- C#
def bubblesort(array):
for i in range(1,len(array)):
for j in range(0,len(array)-1):
if array[j] > array[j+1]:
temp = array[j]
array[j] = array[j+1]
array[j+1] = temp
return array
static void BubbleSort(int[] array)
{
for (int i = 1; i < array.Length; i++)
{
for (int j = 0; j < array.Length - i; j++)
{
if (array[j] > array[j + 1])
{
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
}