看到核心库有sorted_map功能,看了一下,好像没有发现查找map中大于或小于某键的迭代功能,就是类似于stl::map的lower_bound的这类功能,不知道会增加吗
可以增加一个fn lower_bound[K : Compare, V](key : K) -> Iter[V]
, 欢迎直接向 core 贡献代码。
目前也可以直接通过迭代器实现,不过这个办法的时间复杂度是O(N)的:
fn main {
let map = @sorted_map.of([(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd'), (5, 'e')])
let iterator = map.iter().drop_while(fn { (k,v) => k < 3 })
println(iterator) // [(1, 'a'), (2, 'b'), (3, 'c')]
}
嗯,谢谢,这个可以,感觉还是文档没跟上来,这些要到一些源码中才能看到