是我一个人,还是Phobos没有二分查找功能?我有一个预排序的数组,我想用我自己的比较器函数进行搜索,但我在 std.algorithms 或 std.containers 中找不到任何东西。
谢谢!
是我一个人,还是Phobos没有二分查找功能?我有一个预排序的数组,我想用我自己的比较器函数进行搜索,但我在 std.algorithms 或 std.containers 中找不到任何东西。
谢谢!
使用SortedRange
来自std.range
:
抄自http://www.digitalmars.com/d/2.0/phobos/std_range.html#SortedRange:
auto a = [ 1, 2, 3, 42, 52, 64 ];
auto r = assumeSorted(a);
assert(r.canFind(3));
assert(!r.canFind(32));