【发布时间】:2013-10-29 04:28:04
【问题描述】:
我有一个std::vector,我知道它已排序。使用std::binary_search 我可以在日志时间内找到一个元素是否在向量中。不幸的是,std::binary_search 不会在成功的情况下返回向量中元素的索引(或者如果成功,我不知道如何访问它)。 std::find 会给我一个元素的迭代器,但它没有使用向量已排序的事实,因此它以线性时间而不是日志时间运行。我知道我可以轻松实现自己的二进制搜索算法,但我想知道标准中是否有办法做到这一点。
【问题讨论】: