Last Updated : 11 Jul, 2025
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
20CPP
// 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)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4