Bubble Sort is a simple sorting algorithm that compares adjacent elements of an array and swaps them until all the numbers are in order. It is easy to implement in Ruby, suitable for learning and small arrays, but slo...
·2 min. read
Share
This content has been automatically translated from Ukrainian.
Bubble Sort is one of the simplest sorting algorithms. Its essence lies in comparing adjacent elements of the array and swapping them if they are in the wrong order. Thus, the "heaviest" element gradually "bubbles" to the end of the array, like a bubble in water, hence the name of the algorithm.
How it works in simple terms:
Take an array of numbers
Compare the first number with the second
If the first is greater than the second - swap them
Move to the next pair and repeat
Repeat the whole process several times until the array is sorted
Example implementation in 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)
Type something like this in the terminal:
Explanation of the code:
swapped tracks whether there were changes in the current pass
If there were no changes in one pass - the array is sorted and we can stop
array[i], array[i+1] = array[i+1], array[i] swaps two elements
Bubble Sort is easy to understand, but it is slow for large arrays, so faster sorting algorithms are often used for practical tasks.