C++ STL 中的 multimap insert()
在本文中,我们将讨论 C++ STL 中 multimap::insert() 函数的工作原理、语法和示例。
什么是 C++ STL 中的 Multimap?
Multimap 是关联容器,类似于 map 容器。它还便于以特定顺序存储由键值和映射值组合形成的元素。在 multimap 容器中,可以有多个元素与同一个键关联。数据在内部始终借助其关联的键进行排序。
什么是 multimap::insert()?
multimap::insert() 函数是 C++ STL 中的内置函数,它在
与检查关联键是否已存在然后不会插入元素的 map 容器不同,multimap 具有将多个元素与同一个键关联的功能。
因此,无论何时插入元素,它都会根据其键转到其相应的位置。
语法
multiMap_name.insert({key& k, value_type& val});或
multiMap_name.insert(iterator& it, {key& k, value_type& val});或
multiMap_name.insert(iterator& position1, iterator& position2);
或
multimap_name.insert(initializer_list <value_type> il);
参数
此函数接受以下参数:
k - 这是与元素关联的键。该函数检查键是否已存在于容器中,如果存在则不插入元素。
val - 要插入的值。
it - 值的迭代器类型,用于给出希望插入元素的位置。
position1, position2 - position1 是起始位置,position2 是结束位置。当我们想要插入一系列元素时,可以使用我们想要插入的多个元素的范围。
il - 这是包含我们希望初始化到容器中的元素的初始化列表。
返回值
此函数返回指向 map 容器中新插入元素的迭代器。
输入
mutlimap<int, char> mymap; mymap.insert(1, ‘a’); mymap.insert(2, ‘b’);
输出
1: a 2: b
示例
//在给定位置插入具有给定键的元素
#include <bits/stdc++.h>
using namespace std;
int main(){
multimap<int, int> mul;
//inserting elements in multimap
mul.insert({ 1, 10 });
mul.insert({ 2, 20 });
mul.insert({ 3, 30 });
mul.insert({ 4, 40 });
mul.insert({ 5, 50 });
//displaying multimap elements
cout << "Elements in multimap is : \n";
cout << "KEY\tELEMENT\n";
for (auto it = mul.begin(); it!= mul.end(); ++it){
cout << it->first << '\t' << it->second << '\n';
}
return 0;
}输出
如果运行以上代码,将生成以下输出:
Elements in multimap is : KEY ELEMENT 1 10 2 20 3 30 4 40 5 50
示例
//inserting the element after the given key
#include <bits/stdc++.h>
using namespace std;
int main(){
multimap<int, int> mul;
//inserting elements in multimap
mul.insert({ 1, 10 });
mul.insert({ 2, 20 });
mul.insert({ 3, 30 });
mul.insert({ 5, 40 });
mul.insert({ 6, 50 });
//finding the element after which we will insert
auto i = mul.find(3);
mul.insert(i, { 4, 90 });
// print the elements
cout << "KEY\tELEMENT\n";
for (auto itr = mul.begin(); itr!= mul.end(); ++itr){
cout << itr->first << '\t' << itr->second << '\n';
}
return 0;
}输出
如果运行以上代码,将生成以下输出:
KEY ELEMENT 1 10 2 20 3 30 4 90 5 40 6 50
广告
数据结构
网络
关系型数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP