在C++中,upper_bound
是STL中的一個函數,用于在有序容器(如vector、set、map等)中查找第一個大于給定值的元素的位置。具體用法如下:
#include <iostream>
#include <algorithm>
#include <vector>
int main() {
std::vector<int> v = {1, 2, 3, 4, 5, 6, 7};
// 使用upper_bound查找第一個大于4的元素的位置
std::vector<int>::iterator it = std::upper_bound(v.begin(), v.end(), 4);
if (it != v.end()) {
std::cout << "第一個大于4的元素位置為:" << *it << std::endl;
} else {
std::cout << "未找到大于4的元素" << std::endl;
}
return 0;
}
上面的代碼演示了如何使用upper_bound
函數在vector中查找第一個大于4的元素的位置。如果找到了符合條件的元素,會返回該元素的迭代器;否則返回end()。