我是C ++的新手,我刚遇到了这段代码
x = v[lft]+k;
low = lower_bound(v.begin(), v.end(), x) - v.begin();
if(low >= n|| v[low] > x )
low--;
center = v[low];
如果向量中不存在x,则它返回的值大于向量的大小。这证明搜索
low >= n
是否合理,但是我无法弄清楚该条件v[low] > x
在什么情况下会令人满意?low
不应是存在x的索引,那么如何有一个大于x的值? 最佳答案
lower_bound
返回
指向范围[first, last)
中不小于(即大于或等于)值的第一个元素的迭代器。
有关更多详细信息,请参见此处:lower_bound - cppreference
关于c++ - lower_bound(v.begin(),v.end(),x),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40579537/