【发布时间】:2018-01-05 06:48:34
【问题描述】:
我是 Julia lang 的新手,所以我仍在努力阅读 Julia 文档。这是其中的一部分,我正在寻找特别是 bolded 部分的解释。
Base.Sort.searchsortedfirst — 函数。
searchsortedfirst(a, x, [by=,] [lt=,] [rev=false])
返回大于等于x的a中第一个值的索引, 按照指定的顺序。如果 x 更大,则返回 length(a)+1 比 a 中的所有值。假定 a 已排序。
我的数组如下所示:
A = Vector{Record}()
在哪里
type Record
y::Int64
value::Float64
end
现在这是我的问题。我想在我的数组上调用上述方法并获取记录,其中给定 x 等于 y 在此记录(Record.y == x)。猜猜我必须写“by”转换或“lt”比较器?还是两者都有?
任何帮助都会得到帮助:)
【问题讨论】:
-
听起来像
find(r->r.y == x, A)? -
@crstnbr 得到了排序数组,所以如果函数小于 O(n) 会很酷。谢谢你的提议:)
标签: arrays sorting vector julia