Рубрики

std :: upper_bound и std :: lower_bound для вектора в C ++ STL

Нажмите здесь для набора 1 и набора 2 векторов.

Вектор — upper_bound и lower_bound

Iterator lower_bound (Итератор первый, Итератор последний, const val)
Итератор upper_bound (Итератор первый, Итератор последний, const val)

lower_bound возвращает итератор, указывающий на первый элемент в диапазоне [first, last), значение которого не меньше, чем «val».

upper_bound возвращает итератор, указывающий на первый элемент в диапазоне [first, last), значение которого больше, чем 'val'.

// lower_bound и upper_bound в векторе
#include <iostream>
#include <algorithm>    // for lower_bound, upper_bound and sort
#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()) << '\n';

    cout << "upper_bound for 6 at position " << (upper - v.begin()) << '\n';

  

    return 0;

}

Выход :

lower_bound for 6 at position 3
upper_bound for 6 at position 6

Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по обсуждаемой теме

Рекомендуемые посты:

std :: upper_bound и std :: lower_bound для вектора в C ++ STL

0.00 (0%) 0 votes