TheAlgorithms-Ruby/sorting/bubble_sort.rb

26 lines
527 B
Ruby
Raw Normal View History

2021-02-06 23:05:54 -08:00
def bubble_sort(array)
array_length = array.length
return array if array_length <= 1
unsorted_until_index = array_length - 1
sorted = false
until sorted
sorted = true
2021-12-21 15:57:15 -05:00
0.upto(unsorted_until_index - 1) do |i|
if array[i] > array[i+1]
array[i], array[i+1] = array[i+1], array[i]
sorted = false
2021-02-06 23:05:54 -08:00
end
end
unsorted_until_index -= 1
2021-02-06 23:05:54 -08:00
end
return array
2021-02-06 23:05:54 -08:00
end
2020-12-31 02:33:57 +09:00
if $0 == __FILE__
puts 'Enter a list of numbers separated by space'
list = gets
bubble_sort(list)
print list
end