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)