用法一
sort!(v; alg::Algorithm=defalg(v), lt=isless, by=identity, rev::Bool=false, order::Ordering=Forward)
就地對向量v
進行排序。
默認用於數值數組,而QuickSort
用於其他數組。您可以通過 MergeSort
alg
關鍵字指定要使用的算法(有關可用算法,請參見 Sorting Algorithms)。 by
關鍵字允許您提供一個函數,該函數將在比較之前應用於每個元素; lt
關鍵字允許提供自定義 "less than" 函數(請注意,對於每個 x
和 y
,隻有 lt(x,y)
和 lt(y,x)
之一可以返回 true
);使用 rev=true
反轉排序順序。這些選項是獨立的,可以在所有可能的組合中一起使用:如果同時指定by
和lt
,則lt
函數應用於by
函數的結果; rev=true
反轉通過 by
和 lt
關鍵字指定的任何順序。
例子
julia> v = [3, 1, 2]; sort!(v); v
3-element Vector{Int64}:
1
2
3
julia> v = [3, 1, 2]; sort!(v, rev = true); v
3-element Vector{Int64}:
3
2
1
julia> v = [(1, "c"), (3, "a"), (2, "b")]; sort!(v, by = x -> x[1]); v
3-element Vector{Tuple{Int64, String}}:
(1, "c")
(2, "b")
(3, "a")
julia> v = [(1, "c"), (3, "a"), (2, "b")]; sort!(v, by = x -> x[2]); v
3-element Vector{Tuple{Int64, String}}:
(3, "a")
(2, "b")
(1, "c")
用法二
sort!(A; dims::Integer, alg::Algorithm=defalg(A), lt=isless, by=identity, rev::Bool=false, order::Ordering=Forward)
沿維度 dims
對多維數組 A
進行排序。有關可能的關鍵字參數的說明,請參見
。sort!
要對數組的切片進行排序,請參閱
。sortslices
Julia 1.1
此函數至少需要 Julia 1.1。
例子
julia> A = [4 3; 1 2]
2×2 Matrix{Int64}:
4 3
1 2
julia> sort!(A, dims = 1); A
2×2 Matrix{Int64}:
1 2
4 3
julia> sort!(A, dims = 2); A
2×2 Matrix{Int64}:
1 2
3 4
相關用法
- Julia sort用法及代碼示例
- Julia sortperm用法及代碼示例
- Julia sortslices用法及代碼示例
- Julia something用法及代碼示例
- Julia splice!用法及代碼示例
- Julia sizeof()用法及代碼示例
- Julia setfield()用法及代碼示例
- Julia sqrt方法用法及代碼示例
- Julia signed用法及代碼示例
- Julia strip用法及代碼示例
- Julia setdiff!用法及代碼示例
- Julia setindex!方法用法及代碼示例
- Julia sizeof方法用法及代碼示例
- Julia stride用法及代碼示例
- Julia skipmissing用法及代碼示例
- Julia setdiff用法及代碼示例
- Julia sum用法及代碼示例
- Julia show方法用法及代碼示例
- Julia string用法及代碼示例
- Julia signbit()用法及代碼示例
- Julia startswith用法及代碼示例
- Julia strides用法及代碼示例
- Julia symdiff用法及代碼示例
- Julia split用法及代碼示例
- Julia sign用法及代碼示例
注:本文由純淨天空篩選整理自julialang.org 大神的英文原創作品 Base.sort! — Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。