c++stl中upper_bound和lower_bound
头文件 #include<algorithm>
函数功能: 函数lower_bound()在first和last中的前闭后开区间进行二分查找,返回大于或等于val的第一个元素位置。如果所有元素都小于val,则返回last的位置。
函数功能: 函数upper_bound在first和last中的前闭后开区间进行二分查找,返回大于val的第一个元素位置。如果所有元素都小于val,则返回last的位置。
#include <iostream>
#include <stdio.h>
#include <cstring>
#include <algorithm>
using namespace std;
int main()
{
int array[5] = {1 , 2 , 2 , 3 , 5 };
int t1 = upper_bound( array , array+5 , 2 )-array;
//t1 = 3 ; array[t1] = 3;
int t2 = lower_bound( array , array+5 , 2 )-array;
//t2 = 1 ; array[t2] = 2;
return 0;
}