Developer Toolbox

Sortowanie bąbelkowe

Raz po raz przechodzi przez listę i zamienia miejscami sąsiadów w złej kolejności. Po każdym przejściu największa z pozostałych wartości jest na końcu.

  • Ω(n)
  • Θ(n²)
  • O(n²)
  • O(1)
  • tak
  • tak
  • porównywanie
  • przenoszenie
  • na właściwym miejscu
0 / 453 kroków

Pary w złej kolejności: 154 (na starcie: 154) w złej kolejności już uporządkowane

Porównania Zamiany

Naciśnij Odtwórz, a linie pokażą, jak rośnie koszt

Naciśnij Odtwórz albo przechodź przez algorytm krok po kroku.

Spacja: odtwórz lub wstrzymaj. Strzałki lewo/prawo: krok. Home i End: przeskocz.

Spróbuj: Wybierz listę prawie posortowaną. Po przejściu bez żadnej zamiany algorytm kończy wcześniej.

Jak to działa

Porównuje dwie sąsiednie wartości i zamienia je miejscami, gdy lewa jest większa. Dzięki temu w każdym przejściu największa wartość wędruje aż na prawy koniec, jak bąbelek wypływający w górę. Przejście bez żadnej zamiany oznacza, że lista jest już posortowana.

Kiedy warto go użyć

W prawdziwych programach prawie nigdy, bo na długich listach działa wolno. Za to świetnie nadaje się do nauki: pokazuje, na czym polega sortowanie przez porównywanie i zamiany. Szybkie jest tylko na liście już posortowanej.