C++ STL中unordered_set equal_range函数
equal_range()通常返回包含所有等于给定值的元素的范围。对于所有键都不同的unordered_set,返回的范围至多包含一个元素。
语法
setname.equal_range(key name)
参数 它将要搜索的关键字作为参数。
返回值 它返回两个迭代器——包含关键字的范围的下限和上限。
示例
// C++程序示例:unordered_set::equal_range函数
#include <iostream>
#include <unordered_set>
using namespace std;
int main()
{
    // 声明
    unordered_set<int> sample;
 
    // 插入一些值
    sample.insert({ 20, 30, 40 });
 
    // 测试给定键的equal_range函数
    // 如果存在则为它
    auto range1 = sample.equal_range(20);
    if (range1.first != sample.end()) {
        for (; range1.first != range1.second; ++range1.first)
            cout << *range1.first << endl;
    }
    else
        cout << "该元素不存在";
    return 0;
}  
输出
20
// C++程序示例:unordered_set::equal_range函数
#include <iostream>
#include <unordered_set>
using namespace std;
int main()
{
 
    // 声明
    unordered_set<int> sample;
 
    // 插入一些值
    sample.insert({ 20, 30, 40 });
 
    // 测试给定键的equal_range函数
    // 如果不存在则为它
    auto range1 = sample.equal_range(60);
    if (range1.first != sample.end()) {
        for (; range1.first != range1.second; ++range1.first)
            cout << *range1.first << endl;
    }
    else
        cout << "该元素不存在";
    return 0;
}  
输出
该元素不存在
时间复杂度: O(n)
极客教程