lower_bound()関数の時間計算量と使用方法


lower_bound()関数を使用する方法について、以下にいくつかのコード例を示します。

  1. 配列のlower_bound()の使用例:
#include <iostream>
#include <algorithm>
#include <vector>
int main() {
    std::vector<int> numbers = {1, 3, 5, 7, 9};
    int target = 6;
    auto it = std::lower_bound(numbers.begin(), numbers.end(), target);
    if (it != numbers.end()) {
        std::cout << "Found element " << *it << " at index " << std::distance(numbers.begin(), it) << std::endl;
    } else {
        std::cout << "Element not found" << std::endl;
    }
    return 0;
}

この例では、配列「numbers」内の要素から値6以上の最初の要素を検索しています。lower_bound()関数はイテレータを返し、それを使用して要素の値とインデックスを表示しています。

  1. リストのlower_bound()の使用例:
#include <iostream>
#include <algorithm>
#include <list>
int main() {
    std::list<int> numbers = {2, 4, 6, 8, 10};
    int target = 5;
    auto it = std::lower_bound(numbers.begin(), numbers.end(), target);
    if (it != numbers.end()) {
        std::cout << "Found element " << *it << std::endl;
    } else {
        std::cout << "Element not found" << std::endl;
    }
    return 0;
}

この例では、リスト「numbers」内の要素から値5以上の最初の要素を検索しています。

これらのコード例を実行すると、lower_bound()関数の使用方法と結果を確認できます。lower_bound()関数は、ソートされたコンテナ内での要素の検索に便利な関数です。