इस लेख में, हम C++ STL में मल्टीमैप स्वैप () फ़ंक्शन के कार्य, सिंटैक्स और उदाहरणों पर चर्चा करेंगे।
C++ STL में मल्टीमैप क्या है?
मल्टीमैप सहयोगी कंटेनर हैं, जो मानचित्र कंटेनर के समान हैं। यह एक विशिष्ट क्रम में की-वैल्यू और मैप्ड वैल्यू के संयोजन से बनने वाले तत्वों को स्टोर करने की सुविधा भी देता है। एक मल्टीमैप कंटेनर में एक ही कुंजी से जुड़े कई तत्व हो सकते हैं। डेटा को आंतरिक रूप से हमेशा संबंधित कुंजियों की सहायता से क्रमबद्ध किया जाता है।
मल्टीमैप स्वैप क्या है ()?
मल्टीमैप ::स्वैप () फ़ंक्शन सी ++ एसटीएल में एक इनबिल्ट फ़ंक्शन है, जिसे <मैप> हेडर फ़ाइल में परिभाषित किया गया है। स्वैप () का उपयोग दो मल्टीमैप कंटेनरों की सामग्री को स्वैप करने के लिए किया जाता है। यह फ़ंक्शन दो मल्टीमैप कंटेनरों के मानों को स्वैप करता है, चाहे दोनों मल्टीमैप कंटेनरों का आकार कुछ भी हो।
जब इस फ़ंक्शन को कॉल किया जाता है तो यह पैरामीटर लेता है जो एक और मल्टीमैप कंटेनर है और संबंधित कंटेनर के साथ सामग्री को स्वैप करता है।
सिंटैक्स
multimap_name.swap(multimap& multimap_name2);
पैरामीटर
फ़ंक्शन निम्नलिखित पैरामीटर को स्वीकार करता है -
-
map_name2 - यह एक अन्य मल्टीमैप कंटेनर का ऑब्जेक्ट है जिसका डेटा हम संबंधित मल्टीमैप कंटेनर के साथ स्वैप करना चाहते हैं।
रिटर्न वैल्यू
यह फ़ंक्शन कुछ भी नहीं देता है।
इनपुट
std::multimap<char, int> odd, eve; odd.insert(make_pair(‘a’, 1)); odd.insert(make_pair(‘b’, 3)); odd.insert(make_pair(‘c’, 5)); eve.insert(make_pair(‘d’, 2)); eve.insert(make_pair(‘e’, 4)); eve.insert(make_pair(‘f’, 6)); odd.swap(eve);
आउटपुट
Odd: d: 2 e:4 f:6 Eve: a:1 b:3 c:5
उदाहरण
#include<iostream> #include<map> using namespace std; int main(){ multimap<int,int > mul_1; multimap<int,int> mul_2; //declaring iterator to traverse the elements multimap<int,int>:: iterator i; //inserting elements to multimap1 mul_1.insert({1,10}); mul_1.insert({2,20}); mul_1.insert({3,30}); mul_1.insert({4,40}); mul_1.insert({5,50}); //inserting elements to multimap2 mul_2.insert({6,60}); mul_2.insert({7,70}); mul_2.insert({8,80}); mul_2.insert({9,90}); //calling swap to swap the elements mul_1.swap(mul_2); //elements of multimap1 cout<<"Elements in multimap1 are: "<<"\n"; for( i = mul_1.begin(); i!= mul_1.end(); i++){ cout<<(*i).first<<" "<< (*i).second << "\n"; } //elements of multimap2 cout<<"\nElements in multimap2 are: "; for( i = mul_2.begin(); i!= mul_2.end(); i++){ cout<<(*i).first<<" "<<(*i).second << "\n"; } }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
Elements in multimap1 are: 6 60 7 70 8 80 9 90 Elements in multimap2 are: 1 10 2 20 3 30 4 40 5 50