To jest stara wersja strony!
Funkcje lower_bound
oraz upper_bound
są standardowymi szablonami funkcji biblioteki „algorithm”. Są to algorytmy niezmieniające dla danych posortowanych.
#include <algorithm>
wersja wykorzystująca „operator<”
template <class ForwardIterator, class LessThanComparable> ForwardIterator lower_bound(ForwardIterator first, ForwardIterator last, const LessThanComparable& value);
wersja wykorzystująca predykat do spełnienia
template <class ForwardIterator, class T, class StrictWeakOrdering> ForwardIterator lower_bound(ForwardIterator first, ForwardIterator last, const T& value, StrictWeakOrdering comp);
wersja wykorzystująca „operator<”
template <class ForwardIterator, class LessThanComparable> ForwardIterator upper_bound(ForwardIterator first, ForwardIterator last, const LessThanComparable& value);
wersja wykorzystująca predykat do spełnienia
template <class ForwardIterator, class T, class StrictWeakOrdering> ForwardIterator upper_bound(ForwardIterator first, ForwardIterator last, const T& value, StrictWeakOrdering comp);
ForwardIterator first - element kolekcji, od którego rozpocznie się wyszukiwanie
W wyniku działania obu funkcji zwracany jest iterator wskazujący na element zadanego zbioru. W wypadku „lower_bound” wskazywana jest pierwsza pozycja, na ktorą należy wstawić zadany element, aby nie zaburzyć posortowanego ciągu. „upper_bound” zwraca ostatnią taką pozycję.