unordered_set equal_range in C++ STL
equal_range() in general returns range that includes all elements equal to given value. For unordered_set where all keys are distinct, the returned range contains at-most one element. Syntax
setname.equal_range(key name)
Arguments It takes the key to be searched as parameter. Return Value It returns two iteraters—- lower and upper bound of the range that contains the key. Example
CPP
// C++ program to illustrate the // unordered_set::equal_range function #include <iostream> #include <unordered_set> using namespace std; int main() { // declaration unordered_set< int > 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; } |
Output
20
CPP
// C++ program to illustrate the // unordered_set::equal_range function #include <iostream> #include <unordered_set> using namespace std; int main() { // declaration unordered_set< int > 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; } |
Output
Element does not exist
Time complexity: O(n)
Please Login to comment...