當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。