std::upper_bound and std::lower_bound for Vector in C++ STL

Click here for Set 1 and Set 2 of Vectors.   

Vector – upper_bound and lower_bound

Iterator lower_bound (Iterator first, Iterator last, const val) 
Iterator upper_bound (Iterator first, Iterator last, const val) 
lower_bound returns an iterator pointing to the first element in the range [first,last) which has a value not less than ‘val’. 
upper_bound returns an iterator pointing to the first element in the range [first,last) which has a value greater than ‘val’. 

filter_none

edit
close

play_arrow

link
brightness_4
code

// lower_bound and upper_bound in vector
#include <algorithm> // for lower_bound, upper_bound and sort
#include <iostream>
#include <vector> // for vector
 
using namespace std;
 
int main()
{
    int gfg[] = { 5, 6, 7, 7, 6, 5, 5, 6 };
 
    vector<int> v(gfg, gfg + 8); // 5 6 7 7 6 5 5 6
 
    sort(v.begin(), v.end()); // 5 5 5 6 6 6 7 7
 
    vector<int>::iterator lower, upper;
    lower = lower_bound(v.begin(), v.end(), 6);
    upper = upper_bound(v.begin(), v.end(), 6);
 
    cout << "lower_bound for 6 at position "
         << (lower - v.begin() + 1) << '\n';
    cout << "upper_bound for 6 at position "
         << (upper - v.begin() + 1) << '\n';
 
    return 0;
}
chevron_right

  
Output : 

lower_bound for 6 at position 4
upper_bound for 6 at position 7

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above 

Rated as one of the most sought after skills in the industry, own the basics of coding with our C++ STL Course and master the very concepts by intense problem-solving.


Improved By : rajkamalingle10

Article Tags :
C++
Practice Tags :