我想在排序的向量V上对c ++执行二进制搜索.特别是,我对找到向量条目的确切值不感兴趣.我想找到满足V [j-1] <= X <V [j]的条目的位置j,其中X是输入值.
例如:对于向量v = {1,4,7,12,17,55}和X = 8,函数应返回3.
我可以使用具有O(log(2))复杂度的STD函数binary_search吗?
如何?
非常感谢,
人.
其标准函数是upper_bound和lower_bound.阅读这些
http://www.cplusplus.com/reference/algorithm/upper_bound/ http://www.cplusplus.com/reference/algorithm/lower_bound/
如果你向下滚动这些页面,你会发现应该清楚的例子:)