📜  C++ STL中的unordered_set equal_range

📅  最后修改于: 2021-05-30 11:45:40             🧑  作者: Mango

一般情况下,equal_range()返回的范围包括等于给定值的所有元素。对于所有键都不同的unordered_set,返回的范围最多包含一个元素。

句法

setname.equal_range(key name)

争论
它以要搜索的键为参数。
返回值
它返回两个迭代器-包含键的范围的下限和上限。
例子

// C++ program to illustrate the
// unordered_set::equal_range function
#include 
#include 
using namespace std;
int main()
{
    // declaration
    unordered_set sample;
  
    // Insert some values
    sample.insert({ 20, 30, 40 });
  
    // Test the equal_range function for
    // a given key if it does exists
    auto range1 = sample.equal_range(20);
    if (range1.first != sample.end()) {
        for (; range1.first != range1.second; ++range1.first)
            cout << *range1.first << endl;
    }
    else
        cout << "Element does not exist";
    return 0;
}

输出

20
// C++ program to illustrate the
// unordered_set::equal_range function
#include 
#include 
using namespace std;
int main()
{
  
    // declaration
    unordered_set sample;
  
    // Insert some values
    sample.insert({ 20, 30, 40 });
  
    // Test the equal_range function 
    // for a given key if it does not exist
    auto range1 = sample.equal_range(60);
    if (range1.first != sample.end()) {
        for (; range1.first != range1.second; ++range1.first)
            cout << *range1.first << endl;
    }
    else
        cout << "Element does not exist";
    return 0;
}

输出

Element does not exist
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”