在C++ STL中使用multimap find()
multimap::find() 是C++ STL中的一个内置函数,它返回一个迭代器或常量迭代器,指向multimap中键存在的位置。如果存在多个相同的键,则迭代器指向其中一个键(通常是第一个键)。如果我们希望获取给定键的所有条目,则可以使用equal_range()。如果multimap容器中不存在该键,则返回一个迭代器或常量迭代器,指向multimap.end()。
语法:
iterator multimap_name.find(key)
或
constant iterator multimap_name.find(key)
参数: 该函数接受一个强制参数 key ,它指定要在multimap容器中搜索的键。
返回值: 该函数返回一个迭代器或常量迭代器,指向multimap中键存在的位置。如果multimap容器中不存在该键,则返回一个迭代器或常量迭代器,指向multimap.end()。
// C++程序示例,说明multimap::find()函数的使用
#include <bits/stdc++.h>
using namespace std;
int main()
{
// 初始化容器
multimap<int, int> mp;
// 以随机顺序插入元素
mp.insert({ 2, 30 });
mp.insert({ 1, 40 });
mp.insert({ 2, 60 });
mp.insert({ 3, 20 });
mp.insert({ 1, 50 });
mp.insert({ 4, 50 });
cout << "multimap中位置3及其之后的元素:\n";
cout << "键\t元素\n";
// find()函数查找3存在的位置
for (auto itr = mp.find(3); itr != mp.end(); itr++)
cout << itr->first
<< '\t' << itr->second << '\n';
return 0;
}
输出:
multimap中位置3及其之后的元素:
键 元素
3 20
4 50