在C++ STL中使用multimap insert()
multimap::insert 是C++ STL中的一个内置函数,用于在multimap容器中插入元素。
语法:
iterator multimap_name.insert({key,element})
参数: 该函数接受一对由键和要插入的元素组成的键值对。
返回值: 该函数返回一个迭代器,指向容器中的新元素。
// C++程序示例
// multimap::insert({key,element})
#include <bits/stdc++.h>
using namespace std;
int main()
{
//初始化容器
multimap<int,int>mp;
//以随机顺序插入元素
mp.insert({2,30});
mp.insert({1,40});
mp.insert({3,60});
mp.insert({2,20});
mp.insert({5,50});
//打印元素
cout <<"KEY\tELEMENT\n";
for(auto itr = mp.begin();itr != mp.end();++itr){
cout << itr->first
<< '\t' << itr->second << '\n';
}
return 0;
}
输出:
KEY ELEMENT
1 40
2 30
2 20
3 60
5 50
时间复杂度: O(logN),其中N是multimap的大小。
语法:
iterator multimap_name.insert(iterator position,{key,element})
参数: 该函数接受两个参数,如下所述:
- {key,element}: 这指定了一个由键和要插入的元素组成的键值对,这将插入multimap容器中。
- position: 这并不指定插入的位置,它只从要插入的位置开始查找操作。插入是按照multimap容器所遵循的顺序进行的。
语法:
iterator multimap_name.insert(iterator position1,iterator position2)
参数: 该函数接受两个参数:position1和position2,指定元素范围。插入范围[position1,last)中的所有元素均插入multimap容器中。
返回值: 该函数返回一个迭代器,指向容器中的新元素。
// C++程序示例
// multimap::insert({key,element})
#include <bits/stdc++.h>
using namespace std;
int main()
{
//初始化容器
multimap<int,int>mp;
//以随机顺序插入元素
mp.insert({2,30});
mp.insert({1,40});
auto it = mp.find(2);
//从2的位置开始查找并插入{3,6}
mp.insert(it,{3,60});
//打印元素
cout <<"KEY\tELEMENT\n";
for(auto itr = mp.begin();itr != mp.end();++itr){
cout << itr->first
<< '\t' << itr->second << '\n';
}
return0;
}
输出:
Elements in mp1 are
KEY ELEMENT
1 40
2 30
3 60
时间复杂度: O(logn)