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