← strona głównaProgramowanie (Програмування)

Czym jest Bubble Sort (wyjaśnienie algorytmu)?

Bubble Sort - to jeden z najprostszych algorytmów sortowania. Jego istota polega na porównywaniu sąsiednich elementów tablicy i zamienianiu ich miejscami, jeśli są w niewłaściwej kolejności. W ten sposób "najcięższy" ...

Ta treść została automatycznie przetłumaczona z ukraińskiego.
Bubble Sort - to jeden z najprostszych algorytmów sortowania. Jego istota polega na porównywaniu sąsiednich elementów tablicy i zamienianiu ich miejscami, jeśli są w niewłaściwej kolejności. W ten sposób "najcięższy" element stopniowo "wypływa" na koniec tablicy, jak bąbelek w wodzie, stąd nazwa algorytmu.
Jak to działa prostymi słowami:
  • Bierzemy tablicę liczb
  • Porównujemy pierwszą liczbę z drugą
  • Jeśli pierwsza jest większa od drugiej - zamieniamy je miejscami
  • Przechodzimy do następnej pary i powtarzamy
  • Powtarzamy cały proces kilka razy, aż tablica będzie posortowana
Przykład implementacji w języku Ruby:
def bubble_sort(array)
  n = array.length
  loop do
    swapped = false
    (n-1).times do |i|
      if array[i] > array[i+1]
        array[i], array[i+1] = array[i+1], array[i]
        swapped = true
      end
    end
    break unless swapped
  end
  array
end

numbers = [5, 2, 9, 1, 5, 6]
sorted_numbers = bubble_sort(numbers)
Typu coś takiego zobaczycie w terminalu:
Screenshot 2025-09-16 at 18.40.33.png
Wyjaśnienie kodu: 
  • swapped śledzi, czy były zmiany w bieżącej iteracji
  • Jeśli w jednym przejściu nie było zmian - tablica jest posortowana i można się zatrzymać
  • array[i], array[i+1] = array[i+1], array[i] zamienia miejscami dwa elementy
Bubble Sort jest prosty do zrozumienia, ale dla dużych tablic jest wolny, dlatego w praktycznych zadaniach często używa się szybszych algorytmów sortowania.

🔥 Więcej postów

Wszystkie wpisy
Co to jest vibe coding?
25 lip '25 21:51

Co to jest vibe coding?

Wibrujące kodowanie to stan, w którym nie trzymasz się sztywnych zasad programowania, a po prostu...

Co to jest przepełnienie całkowite?
Programowanie (Програмування)15 sie '25 08:28

Co to jest przepełnienie całkowite?

Masz licznik, który może liczyć tylko do pewnej liczby. Na przykład, kieszonkowy kalkulator, któr...

Co to jest plik HAR (HTTP Archive)?
Programowanie (Програмування)25 sie '25 18:23

Co to jest plik HAR (HTTP Archive)?

Plik HAR (HTTArchive) - to specjalny format pliku .har, w którym przechowywany jest dziennik prac...

Czym jest złożoność faktorialna?
Programowanie (Програмування)16 wrz '25 19:03

Czym jest złożoność faktorialna?

Funkcjonalna złożoność - to sytuacja, gdy liczba wariantów lub kombinacji rośnie jak silnia liczb...

Czym jest NP-trudność?
Programowanie (Програмування)16 wrz '25 19:31

Czym jest NP-trudność?

NP-trudność - to klasa problemów, dla których bardzo trudno znaleźć rozwiązanie, ale łatwo sprawd...

Czym jest ivar w Ruby / Rails?
Programowanie (Програмування)19 paź '25 20:12

Czym jest ivar w Ruby / Rails?

ivar - to skrót od instance variable (zmienna instancji). W Ruby zapisuje się ją z @ przed nazwą,...