C++的equal_range函数如何配合排序使用

   2024-10-01 4490
核心提示:equal_range函数在配合排序使用时,通常用来查找某个值在已排序的区间中出现的范围。例如,假设有一个已经排序好的数组arr,现在

equal_range函数在配合排序使用时,通常用来查找某个值在已排序的区间中出现的范围。

例如,假设有一个已经排序好的数组arr,现在想要查找值为target的元素在数组中出现的范围。可以使用equal_range函数来实现:

#include <iostream>#include <algorithm>#include <vector>int main() {    std::vector<int> arr = {1, 2, 2, 3, 3, 3, 4, 5, 6};    int target = 3;    auto range = std::equal_range(arr.begin(), arr.end(), target);    if (range.first != arr.end() && range.second != arr.end()) {        std::cout << "Range of target " << target << " is: [" << range.first - arr.begin() << ", " << range.second - arr.begin() - 1 << "]" << std::endl;    } else {        std::cout << "Target " << target << " not found in the array" << std::endl;    }    return 0;}

上面的代码会输出:Range of target 3 is: [3, 5],表示值为3的元素在数组中出现的范围是从索引3到索引5(左闭右开区间)。

需要注意的是,使用equal_range函数查找范围时,要求数组必须是已经排序好的。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号