首页 文章资讯内容详情

C ++ STL中的multimap insert()

2026-06-04 1 花语

在本文中,我们将讨论C++STL中multimap::insert()函数的工作,语法和示例。

什么是C++STL中的Multimap?

多图是关联容器,类似于图容器。它还便于存储由键值和映射值的组合按特定顺序形成的元素。在多图容器中,可以有多个与同一键关联的元素。始终在内部借助关联的键对数据进行排序。

什么是multimap::insert()?

multimap::insert()函数是C++STL中的内置函数,该函数在 headerfile.insert()isusedtoinsertnewvaluestothemultimapcontainerandincreasesthesizeofthecontainerbythenumberofelementsinserted.

与检查已存在的关联键的映射容器不同,该容器不会插入元素,但是多图具有将多个元素关联到同一键的功能。

因此,每当我们插入一个元素时,它都会根据其键进入其各自的位置。

语法

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