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

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

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

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

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

Вайб-кодинг — це стан, коли ти не слідуєш жорстким правилам програмування, а просто ловиш настрій...

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

Що таке integer overflow?

Ви маєте є лічильник, який може рахувати лише до певного числа. Наприклад, кишеньковий калькулято...

Що таке 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 - це скорочення від instance variable (змінна екземпляра). У Ruby вона записується з @ перед...