溫馨提示×

C++中的lower_bound函數怎么使用

c++
小億
246
2023-12-28 02:00:18
欄目: 編程語言

在C++中,lower_bound函數用于查找有序序列中第一個不小于給定值的元素的位置。它的語法如下:

template <class ForwardIterator, class T>
ForwardIterator lower_bound (ForwardIterator first, ForwardIterator last, const T& val);

其中,firstlast是表示范圍的迭代器,val是要查找的值。lower_bound函數返回一個迭代器,指向第一個不小于val的元素位置。

下面是一個使用lower_bound函數的示例:

#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    std::vector<int> nums = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

    int target = 6;
    std::vector<int>::iterator it = std::lower_bound(nums.begin(), nums.end(), target);

    if (it != nums.end() && *it == target) {
        std::cout << "找到了目標元素:" << *it << std::endl;
    } else {
        std::cout << "未找到目標元素" << std::endl;
    }

    return 0;
}

在上面的示例中,我們創建了一個有序的vector nums,并使用lower_bound函數查找值為6的元素。lower_bound函數返回的迭代器指向的是第一個大于等于6的位置,即指向6本身。然后我們判斷迭代器指向的元素是否等于目標值6,如果相等,則表示找到了目標元素。

輸出結果為:找到了目標元素:6

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女