set.lower_bound和set.upper_bound
时间: 2023-12-03 15:41:02 浏览: 94
set.lower_bound和set.upper_bound是STL set容器中的两个函数,用于查找set中第一个大于等于某个值的元素和第一个大于某个值的元素。
具体来说,set.lower_bound函数接受一个参数,返回一个指向set中第一个大于等于该参数的元素的迭代器,如果不存在这样的元素,则返回set.end()。而set.upper_bound函数也接受一个参数,返回一个指向set中第一个大于该参数的元素的迭代器,如果不存在这样的元素,则返回set.end()。
下面是一个使用set.lower_bound和set.upper_bound的例子:
```cpp
#include <iostream>
#include <set>
int main() {
std::set<int> myset = {1, 2, 3, 4, 5};
// 使用lower_bound查找第一个大于等于3的元素
auto it = myset.lower_bound(3);
if (it != myset.end()) {
std::cout << "The first element >= 3 is " << *it << std::endl;
}
// 使用upper_bound查找第一个大于3的元素
it = myset.upper_bound(3);
if (it != myset.end()) {
std::cout << "The first element > 3 is " << *it << std::endl;
}
return 0;
}
```
输出结果为:
```
The first element >= 3 is 3
The first element > 3 is 4
```
阅读全文