core :: Comparator :: bubble_sort
array
between from
and to
indicesWorst case: O(n^2), average case: O(n^2)
var a = [5, 2, 3, 1, 4]
default_comparator.bubble_sort(a, 0, a.length - 1)
assert a == [1, 2, 3, 4, 5]
# Bubble-sort `array` between `from` and `to` indices
# Worst case: O(n^2), average case: O(n^2)
#
# var a = [5, 2, 3, 1, 4]
# default_comparator.bubble_sort(a, 0, a.length - 1)
# assert a == [1, 2, 3, 4, 5]
fun bubble_sort(array: Array[COMPARED], from: Int, to: Int)
do
var i = from
while i < to do
var min = i
var min_v = array[i]
var j = i
while j <= to do
if compare(min_v, array[j]) > 0 then
min = j
min_v = array[j]
end
j += 1
end
if min != i then
array[min] = array[i]
array[i] = min_v
end
i += 1
end
end
lib/core/collection/sorter.nit:135,2--161,4