C++ algorithm lower_bound() 函数
示例
找出向量中大于或等于"4"的最小值:
vector<int> numbers = {1, 7, 3, 5, 9, 2};
sort(numbers.begin(), numbers.end());
auto it = lower_bound(numbers.begin(), numbers.end(), 4);
if (it != numbers.end()) {
cout << *it << " is the first value at or above 4";
} else {
cout << "No elements found at or above the lower bound";
}
亲自试一试 »
定义和用法
lower_bound() 函数是一个高效的算法,用于查找已排序数据范围内第一个等于或大于指定下限的值。
如果数据范围尚未排序,则该函数可能会返回错误的结果。可以使用 sort() 函数对数据范围内的元素进行排序。
数据范围由迭代器指定。
语法
lower_bound(iterator start, iterator end, <type> bound);
<type> 指的是该范围包含的数据类型。
参数值
| 参数 | 描述 |
|---|---|
| start | 必需。指向数据范围起始位置的迭代器。 |
| end | 必需。指向数据范围结束位置的迭代器。将包含到此位置之前的元素,但不会包含此位置的元素。 | bound | 必需。指定下限。 |
技术细节
| 返回值: | 指向包含第一个等于或大于下限值的元素的迭代器。如果找不到元素,则返回数据范围的末尾。 |
|---|
相关页面
阅读更多关于数据结构的内容,请参阅我们的数据结构教程。
阅读更多关于迭代器的内容,请参阅我们的迭代器教程。
阅读更多关于算法的内容,请参阅我们的算法教程。

