मल्टीमैप मैप के समान है इस अपवाद के साथ कि कई तत्वों के समान कुंजी हो सकते हैं। कुंजी मान और मैप्ड मान जोड़ी को मल्टीमैप में अद्वितीय होना चाहिए।
उपयोग किया गया फंक्शन -
- mm::find() – यदि मल्टीमैप में key 'b' वाला तत्व मिलता है तो उसका इटरेटर लौटाता है, अन्यथा end इटरेटर लौटाता है।
- mm::erase() – मल्टीमैप से कुंजी मान को हटाता है।
- mm::equal_range() – जोड़ों का एक इटरेटर लौटाता है। यह जोड़ा उन सभी तत्वों की सीमा को संदर्भित करता है जिनका key दिए गए key के बराबर है।
- mm::insert() – मल्टीमैप कंटेनर में तत्व डालने के लिए।
- mm::size() – मल्टीमैप कंटेनर में तत्वों की संख्या लौटाता है।
उदाहरण कोड
#include <iostream>
#include <map>
#include <string>
using namespace std;
int main() {
multimap<char, int> mm;
multimap<char, int>::iterator it;
mm.insert(pair<char, int>('a', 10));
mm.insert(pair<char, int>('b', 20));
mm.insert(pair<char, int>('b', 30));
mm.insert(pair<char, int>('a', 40));
cout << "Size of the multimap: " << mm.size() << endl;
cout << "Multimap contains:\n";
for (it = mm.begin(); it != mm.end(); ++it)
cout << (*it).first << " => " << (*it).second << '\n';
for (char c = 'a'; c <= 'b'; c++) {
cout << "There are " << mm.count(c) << " elements with key " << c << ":";
multimap<char, int>::iterator it;
for (it = mm.equal_range(c).first; it != mm.equal_range(c).second; ++it)
cout << ' ' << (*it).second;
cout << endl;
}
it = mm.find('b');
mm.erase(it);
cout << "Size of the multimap: " << mm.size() << endl;
cout << "Multimap contains:\n";
for (it = mm.begin(); it != mm.end(); ++it)
cout << (*it).first << " => " << (*it).second << '\n';
return 0;
}
आउटपुट
Size of the multimap: 4
Multimap contains:
a => 10
a => 40
b => 20
b => 30
There are 2 elements with key a: 10 40
There are 2 elements with key b: 20 30
Size of the multimap: 3
Multimap contains:
a => 10
a => 40
b => 30