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 простий для розуміння, але для великих масивів він повільний, тому для практичних задач часто використовують швидші алгоритми сортування.
Цейво!Відреагуй!
🧵
Цей допис поки що не має жодних доповнень від автора/ки.