简介
lower_bound()函数是用来求一个容器中,第一个大于等于所要查找的元素的地址,具体的原理是二分查找,因此它只能用于非降序序列。
他有三个参数,第一个参数是容器的初始地址,第二个参数是容器的末尾位置,第三个参数是所要查找的元素值。
返回值是第一个大于等于所要查找的元素的地址。
具体使用
vector<int> v;
v.push_back(1), v.push_back(2), v.push_back(3);
//打印 2 的位置
cout << lower_bound(v.begin(), v.end(), 2) - v.begin();
int a[] = {1,2,3};
//打印 2 的位置
cout << lower_bound(a, a + 3, 2) - a;