upper_bound:
main.cpp:
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int arr[5] = {10, 20, 30, 40, 50};
int tmp = upper_bound(arr, arr + 5, 19) - arr;
printf("upper_bound(arr, arr + 5, 19) - arr = %d\n",tmp); //返回的是数组arr第一个大于19的下标(下标从0开始)
tmp = upper_bound(arr, arr + 5, 20) - arr;
printf("upper_bound(arr, arr + 5, 20) - arr = %d\n",tmp);//返回的是数组arr第一个大于20的下标(下标从0开始)
return 0;
}
编译:g++ -o main main.cpp
执行:./main
lower_bound:
main.cpp:
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int arr[5] = {10, 20, 30, 40, 50};
int tmp = lower_bound(arr, arr + 5, 19) - point;
printf("lower_bound(arr, arr + 5, 19) - arr = %d\n",tmp); //返回的是数组arr第一个小于等于19的下标(下标从0开始)
tmp = lower_bound(arr, arr + 5, 20) - arr;
printf("lower_bound(arr, arr + 5, 20) - arr = %d\n",tmp);//返回的是数组arr第一个小于等于20的下标(下标从0开始)
return 0;
}
编译:g++ -o main main.cpp
执行:./main