簡介
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;