头文件:algorithm
对象:有序数组或容器(有序!)
返回值:迭代器(指向元素的指针)
lower_bound()返回值是一个迭代器,返回指向大于等于key的第一个值的位置
upper_bound()函数返回大于key的第一个值的位置
换句话说:
lower的意义是对于给定的已经排好序的a,key最早能插入到的那个位置
upper的意义是对于给定的已经排好序的a,key最晚能插入到的那个位置
bool cmp(int a,int b)
{
return a<b;
}
int main()
{
int a[]={0,1,2,2,3};
printf("%d\n",lower_bound(a,a+5,2,cmp)-a);
printf("%d\n",upper_bound(a,a+5,2,cmp)-a);
return 0 ;
}
输出:2 4
cmp比较函数一般可省略。