C++ STL में Multimap क्या है?
Multimap एक associative container है जो map container के समान होता है। यह key-value और mapped value के संयोजन से बने तत्वों को एक विशिष्ट क्रम में संग्रहीत करता है। एक multimap container में एक ही key से जुड़े कई तत्व हो सकते हैं। डेटा आंतरिक रूप से हमेशा उससे जुड़ी keys की मदद से सॉर्ट किया जाता है।
multimap::emplace() क्या है?
multimap::emplace() C++ STL में एक अंतर्निहित फंक्शन है, जो <map> हेडर फाइल में परिभाषित है। emplace() का उपयोग multimap containers में एक नए तत्व को निर्मित और सम्मिलित करने के लिए किया जाता है। यह फंक्शन container के आकार को प्रभावी ढंग से 1 से बढ़ा देता है।
यह फंक्शन insert फंक्शन के समान है जो ऑब्जेक्ट को कॉपी या मूव करके container में तत्व सम्मिलित करता है।
सिंटैक्स
multimap_name.emplace(Args& val);
पैरामीटर्स
val - यह वह तत्व है जिसे हम सम्मिलित करना चाहते हैं।
रिटर्न वैल्यू
यह फंक्शन उस स्थिति पर एक iterator लौटाता है जहां तत्व emplaced/सम्मिलित किया गया है।
उदाहरण
#include <bits/stdc++.h>
using namespace std;
int main() {
// container बनाएं
multimap<int, int> mul;
// emplace का उपयोग करके सम्मिलित करें
mul.emplace(1, 10);
mul.emplace(4, 20);
mul.emplace(5, 30);
mul.emplace(2, 40);
mul.emplace(3, 50);
mul.emplace(4, 60);
cout << "\nElements in multimap is: \n";
cout << "KEY\tELEMENT\n";
for (auto i = mul.begin(); i != mul.end(); i++) {
cout << i->first << "\t" << i->second << endl;
}
return 0;
}
आउटपुट
Elements in multimap is: KEY ELEMENT 1 10 2 40 3 50 4 20 4 60 5 30