C语言中,有没有类似lower_bound但返回最后一个匹配元素的函数?
- 内容介绍
- 文章标签
- 相关推荐
本文共计157个文字,预计阅读时间需要1分钟。
例如,假设我有一个已排序的数组 +{1, 1, 1, 1, 1, 4, 5}+,我想知道数字1的最右侧索引是否有一个函数可以实现这样的操作?(除了反向排序数组)
应该这样工作:cppauto p=std::equal_range(std::begin(v), std::end(v), 1);
{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
本文共计157个文字,预计阅读时间需要1分钟。
例如,假设我有一个已排序的数组 +{1, 1, 1, 1, 1, 4, 5}+,我想知道数字1的最右侧索引是否有一个函数可以实现这样的操作?(除了反向排序数组)
应该这样工作:cppauto p=std::equal_range(std::begin(v), std::end(v), 1);
{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

