Like we have “upper_bound” function for strictly greater and “lower_bound” for strictly equal or greater. But why don’t we have inbuilt function to find strictly lower number?
Thank you.
Peace!
Like we have “upper_bound” function for strictly greater and “lower_bound” for strictly equal or greater. But why don’t we have inbuilt function to find strictly lower number?
Thank you.
Peace!
The position right before a lower_bound
call, if it exists, will always be strictly less. So it’s not necessary.
I think you can eventually derive other functions using these two functions. Check this.
PS : If you find anything incorrect please reply here.
How much time the lower_bound takes to find the number strictly less than key ?
lowerbound takes O(lgn) time. So, you can use lowerbound to find number strictly less than the number by moving one iterator back.
subtract vector.begin()
Caution: Don’t blindly subtract numbers/ iterators from other iterators. Calculations like vec.end( ) - vec.begin( )
work with vector
but not with set/ multiset
as they have different types of iterators. Google about it, to learn more.