lower_bound() 与 upper_bound()
#include <iostream>
#include <algorithm>//必须包含的头文件
using namespace std;
int main(){
int point[10] = {1,3,7,7,9};
int tmp = upper_bound(point, point + 5, 7) - point;//按从小到大,7最多能插入数组point的哪个位置
printf("%d\n",tmp);
tmp = lower_bound(point, point + 5, 7) - point;////按从小到大,7最少能插入数组point的哪个位置
printf("%d\n",tmp);
return 0;
}
output:
4
2
lower_bound()函数返回范围内第一个
不小于(大于或等于)
指定val的值。
如果序列中的值都小于val,则返回last.
序列应该已经有序!
upper_bound()函数返回范围内第一个 大于 指定val的值。
如果序列中的值都小于val,则返回last.
序列应该已经有序!