在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
会返回指向序列末尾的迭代器。