C/C++ 入門

ホーム > STL の使い方 > upper_bound

upper_bound

ソート済みシーケンスにおいて指定された範囲に、指定した値を上限とする場合の次の場所を指し示すフォワードイテレータを返します。

例えば、ある既知の最大値があってそれ以上の値をソート済みシーケンスに挿入する場合に使えます。

upper_bound のサンプルコード

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main() {

    vector<char> v;
    vector<char>::iterator i;

    for (int j=0; j<26; ++j) {
        v.push_back ('A' + j);
    }

    i = upper_bound (v.begin(), v.end(), 'M');

    while ( i != v.end () ) {
        cout << *i ;
        ++i;
    }
    cout << endl;

    return 0;

}

実行結果は次の通りです。

$ ./a.out
NOPQRSTUVWXYZ
ホーム > STL の使い方 > upper_bound