std::lower_bound 功能

std::lower_bound

default (1)
template <class ForwardIterator, class T>
  ForwardIterator lower_bound (ForwardIterator first, ForwardIterator last,
                               const T& val);
custom (2)
template <class ForwardIterator, class T, class Compare>
  ForwardIterator lower_bound (ForwardIterator first, ForwardIterator last,
                               const T& val, Compare comp);

 

返回在给定区间内第一个不比val小(大于等于val)的值

第一个函数版本用小于号比较而第2个函数版本用的是一个比较函数去比较。范围中的元素必须根据相同标准(<或comp)进行排序或者至少按照val进行区分。
该函数通过比较排序范围的非连续元素来优化执行的比较次数,这对随机访问迭代器特别有效。
不像upper_bound,iter 指向的值可能等于val而不是只是大于。

 

posted @ 2018-07-30 23:27  瓜蛋  阅读(2898)  评论(0编辑  收藏  举报