在C++中,upper_bound
是STL中的一個函數,用于在已排序的序列中找到第一個大于指定值的元素。具體作用是返回一個迭代器,該迭代器指向序列中第一個大于指定值的元素的位置。
upper_bound
函數的使用方式如下:
std::vector<int> vec = {1, 2, 3, 4, 5, 6};
auto it = std::upper_bound(vec.begin(), vec.end(), 3);
if (it != vec.end()) {
std::cout << "第一個大于3的元素是:" << *it << std::endl;
}
在上面的例子中,upper_bound
函數會在vec
中查找第一個大于3的元素,即4,然后返回指向4的迭代器it
。如果找不到大于指定值的元素,upper_bound
會返回指向序列末尾的迭代器。