C++ STL中unordered_multiset的key_eq()函数
unordered_multiset::key_eq() 是C++ STL中的一个内置函数,它根据比较返回一个布尔值。它取决于unordered_multiset容器使用的键等价比较谓词。键等价比较是一个谓词,它接受两个参数并返回一个布尔值,指示它们是否被视为等价的。如果它们是等价的,则返回true,否则返回false。它在构建容器时被采用,类似于比较中使用的 (==)
运算符。
语法 :
unordered_multiset_name_.key_eq()(args1, args2)
参数 :该函数接受两个必需参数 args1 和 args2 ,需要对它们进行比较。数据类型与unordered_multiset相同。 返回值 :该函数返回一个布尔值。以下程序说明了 unordered_multiset::key_eq() 函数:
程序1 :
// C++程序,说明
// unordered_multiset::key_eq()函数
#include <iostream>
#include <string>
#include <unordered_set>
using namespace std;
int main()
{
unordered_multiset<string> sampleSet;
bool answer = sampleSet.key_eq()("GEEKS", "geeks");
// 检查两者是否相同
if (answer)
cout << "GEEKS和geeks在容器中被视为相同\n";
else
cout << "GEEKS和geeks在容器中被视为不同\n";
return 0;
}
输出:
GEEKS和geeks在容器中被视为不同
时间复杂度-O(1)
程序2 :
// C++程序,说明
// unordered_multiset::key_eq()函数
#include <iostream>
#include <string>
#include <unordered_set>
using namespace std;
int main()
{
unordered_multiset<int> sampleSet;
bool answer = sampleSet.key_eq()(100, 200);
// 检查
if (answer)
cout << "100和200在容器中被视为相同\n";
else
cout << "100和200在容器中被视为不同\n";
answer = sampleSet.key_eq()(100, 100);
if (answer)
cout << "100和100在容器中被视为相同\n";
else
cout << "100和100在容器中被视为不同\n";
return 0;
}
输出:
100和200在容器中被视为不同
100和100在容器中被视为相同
时间复杂度: O(1)