在本文中,我们将讨论C ++ STL中multimap::insert()函数的工作,语法和示例。
多图是关联容器,类似于图容器。它还便于存储由键值和映射值的组合按特定顺序形成的元素。在多图容器中,可以有多个与同一键关联的元素。始终在内部借助关联的键对数据进行排序。
multimap::insert()函数是C ++ STL中的内置函数,该函数在
与检查已存在的关联键的映射容器不同,该容器不会插入元素,但是多图具有将多个元素关联到同一键的功能。
因此,每当我们插入一个元素时,它都会根据其键进入其各自的位置。
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-要插入的值。
它-这是用来给我们想要要插入的元件的位置的值的迭代器类型。
position1,position2-当我们要插入一系列元素时,position1是开始位置,而position2是结束位置,我们可以使用要插入的多个元素的范围。
il-这是初始化列表,其中包含我们希望初始化到容器的元素。
此函数将迭代器返回到新插入到映射容器中的元素。
输入值
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