当前位置 : 主页 > 编程语言 > c++ >

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

来源:互联网 收集:自由互联 发布时间:2021-06-23
例如,如果我有一个已排序的数组 {1,1,1,1,1,4,5} 我想知道1的最右边的索引,是否有一个函数可以让我这样做? (除了反向排序数组) 这应该工作: auto p = std::equal_range( std::begin(v), std::end(v)
例如,如果我有一个已排序的数组

{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

网友评论