इस लेख में हम C++ STL में मल्टीमैप ::इन्सर्ट () फंक्शन की कार्यप्रणाली, सिंटैक्स और उदाहरणों पर चर्चा करेंगे।
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);
पैरामीटर
यह फ़ंक्शन निम्नलिखित पैरामीटर को स्वीकार करता है -
-
के - यह वह कुंजी है जो तत्व से जुड़ी होती है। फ़ंक्शन यह जांचता है कि क्या कुंजी पहले से ही कंटेनर में है तो यह तत्व सम्मिलित नहीं करता है।
-
वैल - वह मान जो डाला जाना है।
-
यह - इटरेटर प्रकार का मान जिसका उपयोग उस स्थिति को देने के लिए किया जाता है जहां हम तत्व को सम्मिलित करना चाहते हैं।
-
स्थिति1, स्थिति2 - स्थिति 1 प्रारंभिक स्थिति है और स्थिति 2 अंतिम स्थिति है जब हम तत्वों की श्रृंखला सम्मिलित करना चाहते हैं, हम कई तत्वों की श्रेणी का उपयोग कर सकते हैं जिन्हें हम सम्मिलित करना चाहते हैं।
-
इल - यह इनिशियलाइज़र सूची है जिसमें वे तत्व शामिल हैं जिन्हें हम कंटेनर में इनिशियलाइज़ करना चाहते हैं।
रिटर्न वैल्यू
यह फ़ंक्शन मानचित्र कंटेनर में डाले गए तत्व को एक पुनरावर्तक लौटाता है।
इनपुट
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