unordered_multimap在C++ STL中的find()函数
unordered_multimap::find() 是C++ STL中的内置函数,它返回一个迭代器,该迭代器指向具有键 k 的元素之一。如果容器不包含任何键为k的元素,则返回一个迭代器,该迭代器指向容器中最后一个元素的位置。
语法:
unordered_multimap_name.find(k)
参数: 该函数接受一个必需的参数 k 它指定了键。
返回值: 它返回一个迭代器,该迭代器指向具有键 k 的元素所在的位置。
下面的程序说明了上述函数:
程序1:
// C++程序,说明unordered_multimap::find()函数
#include <iostream>
#include <unordered_map>
using namespace std;
int main()
{
//声明
unordered_multimap<int, int> sample;
//插入键和元素
sample.insert({ 1, 2 });
sample.insert({ 1, 2 });
sample.insert({ 2, 3 });
sample.insert({ 3, 4 });
sample.insert({ 2, 6 });
//找到键为1的元素并打印
auto it = sample.find(1);
if (it != sample.end())
cout << 1 << ":" << it->second << endl;
else
cout << "未找到键为1的元素\n";
//找到键为2的元素并打印
it = sample.find(2);
if (it != sample.end())
cout << 2 << ":" << it->second << endl;
else
cout << "未找到键为2的元素\n";
//找到键为100的元素并打印
it = sample.find(100);
if (it != sample.end())
cout << 100 << ":" << it->second << endl;
else
cout << "未找到键为100的元素\n";
return 0;
}
输出:
1:2
2:6
未找到键为100的元素
程序2:
// C++程序,说明unordered_multimap::find()函数
#include <iostream>
#include <unordered_map>
using namespace std;
int main()
{
//声明
unordered_multimap<char, char> sample;
//插入元素
sample.insert({ 'a', 'b' });
sample.insert({ 'a', 'b' });
sample.insert({ 'a', 'd' });
sample.insert({ 'b', 'e' });
sample.insert({ 'b', 'd' });
//找到键为R的元素并打印
auto it = sample.find('r');
if (it != sample.end())
cout << "r"
<< ":" << it->second << endl;
else
cout << "未找到键为r的元素\n";
//找到键为a的元素并打印
it = sample.find('a');
if (it != sample.end())
cout << 'a' << ":" << it->second << endl;
else
cout << "未找到键为a的元素\n";
//找到键为b的元素并打印
it = sample.find('b');
if (it != sample.end())
cout << "b"
<< ":" << it->second << endl;
else
cout << "未找到键为b的元素\n";
return 0;
}
输出:
未找到键为r的元素
a:d
b:d