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

Czym jest Bubble Sort (wyjaśnienie algorytmu)?

Bubble Sort - prosty algorytm sortowania, który porównuje sąsiednie elementy tablicy i zamienia je miejscami, aż wszystkie liczby będą uporządkowane. Łatwy do zaimplementowania w Ruby, nadaje się do nauki i małych tab...

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?

Wib-kodowanie to intuicyjne programowanie w tandemie z AI: bez surowych zasad, z muzyką, inspirac...

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

Co to jest przepełnienie całkowite?

Przepełnienie całkowite — to sytuacja, gdy wartość przekracza granicę typu zmiennej. Dla 32-bitow...

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

Co to jest plik HAR (HTTP Archive)?

Plik HAR (HTTP Archive) — to format .har, który przechowuje dziennik pracy przeglądarki z siecią....

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

Czym jest złożoność faktorialna?

Złożoność faktorialna to szybki wzrost liczby wariantów, gdy dla n elementów możliwych permutacji...

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

Czym jest NP-trudność?

NP-trudność – to klasa zadań, w której znalezienie rozwiązania jest niezwykle trudne, ale sprawdz...

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

Czym jest ivar w Ruby / Rails?

ivar w Ruby to zmienna instancji (instance variable), która jest oznaczana @. W Rails przekazuje ...