c++ - 是否有像 lower_bound 这样的函数返回最后一个值而不是第一个值?

标签 c++ arrays function sorting

例如,如果我有一个排序数组

{1,1,1,1,1,4,5}

我想知道 1 最右边的索引,是否有一个函数可以让我这样做? (除了反向排序数组)

最佳答案

这应该有效:

auto p = std::equal_range( std::begin(v), std::end(v), 1 );
if( p.first != p.second ) {
    auto it = p.second - 1;
    //...
}

live example

关于c++ - 是否有像 lower_bound 这样的函数返回最后一个值而不是第一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51773713/

相关文章:

c - 从C中的数组中删除元素

c++ - 使用 Rcpp 公开 C++ 类

C++ 在 For 循环中为结构返回相同的引用

javascript - 如何将数组的数组转换为对象?

php - 多维数组输出。请帮我提取并遍历这个烂摊子

c++ - 从多个函数指针中提取参数参数列表的元函数

python - 如何在不多次调用函数的情况下访问函数内、函数外生成的字典。 PYTHON

java - 如何在 java 中只使用特定的类对象值?

c++ - 如何使用无效*

c++ - 重载与隐藏 C++