温馨提示×

如何使用C++的equal_range函数

小樊
102
2024-08-18 08:57:35
栏目: 编程语言
C++开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

C++的equal_range函数用于在已排序的容器中查找某个值的范围。它返回一个pair对象,包含了两个迭代器,分别指向第一个大于等于该值的元素和最后一个小于该值的元素的后一个位置。

以下是一个使用equal_range函数的示例:

#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    std::vector<int> vec = {1, 2, 3, 3, 3, 4, 5, 6};
    
    // 使用equal_range查找元素3的范围
    auto range = std::equal_range(vec.begin(), vec.end(), 3);
    
    // 输出查找到的范围
    std::cout << "Lower bound: " << *range.first << std::endl;
    std::cout << "Upper bound: " << *range.second << std::endl;
    
    return 0;
}

在上面的示例中,equal_range函数会在vec容器中查找值为3的元素的范围,并将结果存储在range中。然后我们通过输出range.first和range.second来获取找到的范围的首尾元素。

请注意,使用equal_range函数前需要确保容器已经按照升序排好序,否则可能无法得到正确的结果。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:C++的equal_range函数如何配合排序使用

0