Sortowanie bąbelkowe

Dla każdego i z przedziału od 1 do n-1, wewnętrzna pętla (iterowana względem k) umieszcza najmniejszy spośród elementów tab[i], tab[i+1],...,tab[n] (oznaczony jako pogrubiony) w tab[i], przesuwając się od dołu do góry i zamieniając sąsiadujące elementy miejscami, o ile są w złej kolejności.

W ten sposób najmniejszy element niczym "bąbelek" wypływa na wierzch.

Wszystkie elementy powyżej i-tego są już posortowane (szary kolor tła).

Statystyka:

Sortowanie bąbelkowe wymaga n(n-1)/2 porównań oraz około (średnio) n^2/4 zamian.

Widać, że algorytm ten poza prostotą implementacji nie ma zbyt wielu zalet. Można tylko dodać, że przy pewnej optymalizacji jest on w miarę przydatny w sytuacji, gdy dane są "prawie posortowane".