Sorting algorithms/Bubble sort: Difference between revisions
Content added Content deleted
(→{{header|Standard ML}}: Previous version did not work. Fixed.) |
(→{{header|Julia}}: A new entry for Julia) |
||
Line 1,722: | Line 1,722: | ||
[1,2,3] |
[1,2,3] |
||
["A","B","C","D","E","F","G"]</lang> |
["A","B","C","D","E","F","G"]</lang> |
||
=={{header|Julia}}== |
|||
<lang Julia> |
|||
function bubblesort{T}(a::AbstractArray{T,1}) |
|||
b = copy(a) |
|||
isordered = false |
|||
span = length(b) |
|||
while !isordered && span > 1 |
|||
isordered = true |
|||
for i in 2:span |
|||
if b[i] < b[i-1] |
|||
t = b[i] |
|||
b[i] = b[i-1] |
|||
b[i-1] = t |
|||
isordered = false |
|||
end |
|||
end |
|||
span -= 1 |
|||
end |
|||
return b |
|||
end |
|||
a = [rand(-100:100) for i in 1:20] |
|||
println("Before bubblesort:") |
|||
println(a) |
|||
a = bubblesort(a) |
|||
println("\nAfter bubblesort:") |
|||
println(a) |
|||
</lang> |
|||
{{out}} |
|||
<pre> |
|||
Before bubblesort: |
|||
[95,-40,-93,38,95,-20,-13,-61,81,51,-54,77,-4,-49,-99,-55,28,-52,2,-28] |
|||
After bubblesort: |
|||
[-99,-93,-61,-55,-54,-52,-49,-40,-28,-20,-13,-4,2,28,38,51,77,81,95,95] |
|||
</pre> |
|||
Here <code>bubblesort</code> was used on a list of integers. As written the function will work on lists of any objects for which <code>isless</code> is defined. |
|||
=={{header|Kotlin}}== |
=={{header|Kotlin}}== |