Пространства имён
Варианты
Действия

upper_bound

Материал из cppreference.com

Синтаксис:

    #include <algorithm>
    forward_iterator upper_bound( forward_iterator start, forward_iterator end, const T& val );
    forward_iterator upper_bound( forward_iterator start, forward_iterator end, const T& val, StrictWeakOrdering cmp );

Алгоритм upper_bound() ищет в упорядоченном диапазоне [start,end) последнюю позицию, в которую можно вставить значение val сохраняя упорядоченность. Во втором случае функция возвращает итератор на первый элемент, который больше val (элементы должны быть упорядочены).

Если нужна повышенная точность, вводится упорядочивающая функция-объект cmp, которая используется для сравнения двух объектов вместо оператора <.

upper_bound() работает за логарифмическое время для контейнеров, поддерживающий случайный доступ, и за линейное время для остальных контейнеров. Функция всегда производит O(log n) сравнений.

Смотрите также: binary_search, equal_range, lower_bound