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)
Типу ось таке побачите в терміналі:
- swapped відслідковує, чи були зміни у поточному проході
- Якщо за один прохід змін не було - масив відсортований і можна зупинитися
- array[i], array[i+1] = array[i+1], array[i] міняє місцями два елементи
Bubble Sort простий для розуміння, але для великих масивів він повільний, тому для практичних задач часто використовують швидші алгоритми сортування.
Цей допис поки що не має жодних доповнень від автора/ки.