stl upper_bound()

 

upper_bound( a , b , k )返回有序升序序列[a,b)中能放下k的第一个位置

一个数组number序列1,2,2,4.upper_bound(2)后,返回的位置是3...
 
lower_bound( a , b , k )同理
 
Mark....

 

-----------------------附加如果想把位置作为整型数字输出需要 - 数组名 - 1(-1是因为一般都是从1开始命名,前面给位置的时候就+1了...)
1 int a[50]={};
2 a[1]=1;
3 a[2]=2;
4 a[3]=3;
5 a[4]=4;
6 cout<<upper_bound(a+1,a+1+4,3)-a-1<<endl;
View Code

以上代码输出3,若把a[2]改为3那么输出也为3;

posted @ 2017-11-04 16:40  鲸头鹳  阅读(127)  评论(0编辑  收藏  举报