This content has been automatically translated from Ukrainian.
Bubble Sort this is one of the simplest sorting algorithms. Its essence is to compare neighboring elements of the array and swap them if they are in the wrong order. Thus, the "heaviest" element gradually "floats" onto the end of the array like a bubble in water, hence the name of the algorithm.
How it works in simple words:
- Let's take an array of numbers
- We compare the first number with the second
- If the first is more than the second, we change their places
- Let's move on to the next pair and repeat
- Repeat the entire process several times until the array is sorted
An example of 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)
You will see this in the terminal:
- swapped monitors whether there have been changes to the current pass
- If there were no changes in one pass, the array is sorted and you 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 problems.
This post doesn't have any additions from the author yet.