← головнаПрограмування

Що таке Bubble Sort (пояснення алгоритму)?

Bubble Sort - простий алгоритм сортування, що порівнює сусідні елементи масиву і міняє їх місцями, поки всі числа не стануть у порядку. Легко реалізується на Ruby, підходить для навчання та малих масивів, але для вели...

Bubble Sort - це один з найпростіших алгоритмів сортування. Його суть полягає в тому, щоб порівнювати сусідні елементи масиву і міняти їх місцями, якщо вони стоять у неправильному порядку. Таким чином, "найважчий" елемент поступово "спливає" на кінець масиву, як бульбашка у воді, звідси й назва алгоритму.
Як це працює простими словами:
  • Беремо масив чисел
  • Порівнюємо перше число з другим
  • Якщо перше більше за друге - міняємо їх місцями
  • Переходимо до наступної пари і повторюємо
  • Повторюємо весь процес кілька разів, поки масив не буде відсортований
Приклад імплементації мовою 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)
Типу ось таке побачите в терміналі:
Screenshot 2025-09-16 at 18.40.33.png
Пояснення коду: 
  • swapped відслідковує, чи були зміни у поточному проході
  • Якщо за один прохід змін не було - масив відсортований і можна зупинитися
  • array[i], array[i+1] = array[i+1], array[i] міняє місцями два елементи
Bubble Sort простий для розуміння, але для великих масивів він повільний, тому для практичних задач часто використовують швидші алгоритми сортування.

🔥 Більше дописів

Всі публікації
Що таке вайб-кодинг?
25 лип. '25, 21:51

Що таке вайб-кодинг?

Вайб-кодинг — це інтуїтивне програмування в тандемі з AI: без строгих правил, з музикою, натхненн...

Що таке integer overflow?
Програмування15 серп. '25, 08:28

Що таке integer overflow?

Integer overflow — це переповнення цілого числа, коли значення перевищує межу типу змінної. Для 3...

Що таке HAR file (HTTP Archive)?
Програмування25 серп. '25, 18:23

Що таке HAR file (HTTP Archive)?

HAR file (HTTP Archive) — це формат .har, що зберігає журнал роботи браузера з мережею. Він місти...

Що таке NP-складність?
Програмування16 вер. '25, 19:31

Що таке NP-складність?

NP-складність – це клас задач, де знайти рішення надзвичайно важко, але перевірити готову відпові...

Що таке ivar у Ruby / Rails?
Програмування19 жовт. '25, 20:12

Що таке ivar у Ruby / Rails?

ivar у Ruby — це змінна екземпляра (instance variable), яка позначається @. У Rails вона передає ...