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
廣告