欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

stl迭代器中的二分查找

程序员文章站 2022-03-14 09:58:15
...

Stl迭代器 Lower_bound与upper_bound的使用

  • 注意事项:该序列必须是升序序列,若序列为倒序,也会当成升序来用
  • 使用方法
int a[]={1,1,2,2,3,3,4,4,5,5};
cout<<(lower_bound(a,a+10,4)-a)<<endl;
cout<<(upper_bound(a,a+10,4)-a)<<endl;
  • 解读:就是在一个左闭右开的区间里进行二分查找,val由第三个值给出,答案为6和8

Lower_bound返回第一个大于等于参数val的序列值的迭代器
Upper_bound返回第一个大于参数val的序列值的迭代器