Sorting and Related Functions
Sorting and Related Functions
Julia has an extensive, flexible API for sorting and interacting with already-sorted arrays of values. By default, Julia picks reasonable algorithms and sorts in standard ascending order:
julia> sort([2,3,1]) 3-element Array{Int64,1}: 1 2 3
You can easily sort in reverse order as well:
julia> sort([2,3,1], rev=true) 3-element Array{Int64,1}: 3 2 1
To sort an array in-place, use the “bang” version of the sort function:
julia> a = [2,3,1]; julia> sort!(a); julia> a 3-element Array{Int64,1}: 1 2 3
Instead of directly sorting an array, you can compute a permutation of the array’s indices that puts the array into sorted order:
julia> v = randn(5) 5-element Array{Float64,1}: 0.297288 0.382396 -0.597634 -0.0104452 -0.839027 julia> p = sortperm(v)