Bubble Sort - простий алгоритм сортування, що порівнює сусідні елементи масиву і міняє їх місцями, поки всі числа не стануть у порядку. Легко реалізується на Ruby, підходить для навчання та малих масивів, але для вели...
·2 хв. читання
Поділитись
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 простий для розуміння, але для великих масивів він повільний, тому для практичних задач часто використовують швидші алгоритми сортування.