用法一
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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。