C++ lower_bound関数とは?二分探索での役割と使い方
C++のlower_bound関数は、ソートされたシーケンスの中で指定された値以上の最初の要素の位置を検索するために使用されます。具体的には、lower_bound関数は、指定された値以上の最初の要素を指すイテレータを返します。
lower_bound関数の使用方法は次の通りです:
#include <algorithm>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 查找第一个大于等于3的元素的位置
auto it = std::lower_bound(vec.begin(), vec.end(), 3);
if (it != vec.end()) {
std::cout << "第一个大于等于3的元素的位置为:" << std::distance(vec.begin(), it) << std::endl;
}
return 0;
}
上記の例では、lower_bound関数は要素3のイテレータを返します。この場合、3は3以上の最初の要素であるため、出力は「3以上の最初の要素の位置は2です」。