直接上代码
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int A[14] = {1,1,2,2,4,5,5,6,8,8,8,10,10,15};
int *pos;
int idx;
pos = lower_bound(A, A+14, 3);//lower_bound(elem.begin(), elem.end()-elem.begin(), value)查找第一个不小于指定值value的元素
idx = distance(A,pos);
cout<<"A["<<idx<<"] ="<< *pos << endl;
pos = lower_bound(A, A+14, 2);
idx = distance(A,pos);
cout<<"A["<<idx<<"] ="<< *pos << endl;
pos = upper_bound(A, A+14, 7);//返回第一个大于value的值,这些返回的都是迭代器,都是地址。
idx = distance(A,pos);//distance函数用于返回两个指针之间的距离。
cout<<"A["<<idx<<"] ="<< *pos << endl;
return 0;
}