All original content is created in Ukrainian. Not all content has been translated yet. Some posts may only be available in Ukrainian.Learn more

What is Bubble Sort (algorithm explanation)?

Post cover: What is Bubble Sort (algorithm explanation)?
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:
Screenshot 2025-09-16 at 18.40.33.png
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.

This post doesn't have any additions from the author yet.

Error 403 on the website: what it means and how to fix it
Jul 24, '25 23:50

Error 403 on the website: what it means and how to fix it

What is vibe coding?
Jul 25, '25 21:51

What is vibe coding?

What is combinatorial explosion?
Jul 28, '25 11:50

What is combinatorial explosion?

What is a brain stack?
Jul 28, '25 19:37

What is a brain stack?

What is integer overflow?
Aug 15, '25 08:28

What is integer overflow?

What is a HAR file (HTTP Archive)?
Aug 25, '25 18:23

What is a HAR file (HTTP Archive)?

What is exponential growth?
Sep 16, '25 18:57

What is exponential growth?

What is factorial complexity?
Sep 16, '25 19:03

What is factorial complexity?

What is NP-complexity?
Sep 16, '25 19:31

What is NP-complexity?

Offset vs Cursor Pagination in Rails: what to choose and why
Sep 24, '25 15:22

Offset vs Cursor Pagination in Rails: what to choose and why

What is Row Security in PostgreSQL and why is it important for Rails developers
Oct 4, '25 19:06

What is Row Security in PostgreSQL and why is it important for Rails developers

What is ivar in Ruby / Rails?
Oct 19, '25 20:12

What is ivar in Ruby / Rails?