当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Julia Sort.partialsortperm!用法及代码示例


用法:

partialsortperm!(ix, v, k; by=<transform>, lt=<comparison>, rev=false, initialized=false)

partialsortperm 类似,但接受与 v 大小相同的预分配索引向量 ix ,用于存储 (排列) v 的索引。

如果索引向量ixv(或其排列)的索引初始化,则initialized应该设置为true

如果 initializedfalse (默认值),则 ix 被初始化为包含 v 的索引。

如果 initializedtrue ,但 ix 不包含 v 的索引(排列),则 partialsortperm! 的行为未定义。

(通常,v 的索引将为 1:length(v) ,但如果 v 具有非基于一的索引的替代数组类型,例如 OffsetArrayix 也必须是 OffsetArray具有相同的索引,并且必须包含这些相同索引的值(排列)。)

返回时,ix 保证在其排序位置具有索引 k,这样

partialsortperm!(ix, v, k);
v[ix[k]] == partialsort(v, k)

如果k 是整数,则返回值是ix 的第k 元素,或者如果k 是范围,则查看ix

例子

julia> v = [3, 1, 2, 1];

julia> ix = Vector{Int}(undef, 4);

julia> partialsortperm!(ix, v, 1)
2

julia> ix = [1:4;];

julia> partialsortperm!(ix, v, 2:3, initialized=true)
2-element view(::Vector{Int64}, 2:3) with eltype Int64:
 4
 3

相关用法


注:本文由纯净天空筛选整理自julialang.org 大神的英文原创作品 Base.Sort.partialsortperm! — Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。