20 lines
517 B
Julia
20 lines
517 B
Julia
# This file is a part of Julia. License is MIT: https://julialang.org/license
|
|
|
|
import Base.Sort
|
|
struct BubbleSortAlg <: Sort.Algorithm end
|
|
const BubbleSort = BubbleSortAlg()
|
|
|
|
function Base.sort!(v::AbstractVector, lo::Int, hi::Int, ::BubbleSortAlg, o::Sort.Ordering)
|
|
while true
|
|
clean = true
|
|
for i = lo:hi-1
|
|
if Sort.lt(o, v[i+1], v[i])
|
|
v[i+1], v[i] = v[i], v[i+1]
|
|
clean = false
|
|
end
|
|
end
|
|
clean && break
|
|
end
|
|
return v
|
|
end
|