cout<<b<<endl;
int c=binary_search(a,a+9,40);//查找失败,返回0
cout<<c<<endl;
int d=lower_bound(a,a+9,10)-a;
cout<<d<<endl;
int e=lower_bound(a,a+9,101)-a;
cout<<e<<endl;
int f=upper_bound(a,a+9,10)-a;
cout<<f<<endl;
int g=upper_bound(a,a+9,101)-a;
cout<<g<<endl;
}
输出结果:
1
0
1
9
2
9
Process returned 0 (0x0) execution time : 0.097 s
Press any key to continue.
2.lower_bound:查找第一个大于或等于某个元素的位置。
a.函数模板:lower_bound(arr[],arr[]+size , indx):
b.参数说明:
arr[]: 数组首地址
size:数组元素个数
indx:需要查找的值
c.函数功能: 函数lower_bound()在first和last中的前闭后开区间进行二分查找,返回大于或等于val的第一个元素位置(注意是地址)。如果所有元素都小于val,则返回last的位置
d.举例如下ÿ