在stl中对二分查找进行了封装,有两种——upper_bound,lower_bound。
例如:pos=lower_bound(a,a+n,value);///查找value值在长度为n的数组a中的位置
关于返回值,函数lower_bound()在first和last中的前闭后开区间进行二分查找,返回大于或等于val的第一个元素位置。如果所有元素都小于val,则返回last的位置
upper_bound返回大于val的第一个元素位置
#include<iostream>
#include <algorithm>//必须包含的头文件
using namespace std;
int main(){
}
output:
4
2
革命尚未成功!