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.

序列应该已经有序!

posted @ 2015-04-05 22:03  PastLIFE  阅读(112)  评论(0编辑  收藏  举报