Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ STL में Multimap का कार्यान्वयन

मल्टीमैप मैप के समान है इस अपवाद के साथ कि कई तत्वों के समान कुंजी हो सकते हैं। कुंजी मान और मैप्ड मान जोड़ी को मल्टीमैप में अद्वितीय होना चाहिए।

उपयोग किया गया फंक्शन -

  • 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
  1. C++ STL में Set_Symmetric_Difference का कार्यान्वयन C++ STL में Set_Symmetric_Difference का कार्यान्वयन

    यह C++ प्रोग्राम set_symmetric_difference को लागू करने के लिए है। दो सेट का सिमेट्रिक डिफरेंस उन तत्वों द्वारा बनाया जाता है जो एक सेट में मौजूद होते हैं, लेकिन दूसरे में नहीं। सामान्य सेट ऑपरेशन हैं: Set Union Set Intersection Symmetric Set Difference या Exclusive-OR Set Difference या Subtraction

  1. C++ STL में Set_Intersection का कार्यान्वयन C++ STL में Set_Intersection का कार्यान्वयन

    दो सेट का इंटरसेक्शन केवल उन तत्वों द्वारा बनता है जो दोनों सेट में कॉमन होते हैं। फंक्शन द्वारा कॉपी किए गए तत्व हमेशा पहले सेट से उसी क्रम में आते हैं। दोनों सेट में तत्व पहले से क्रमबद्ध होने चाहिए। सामान्य सेट ऑपरेशन हैं: Set Union Set Intersection Symmetric Set Difference या Exclusive-OR Set

  1. C++ STL में Set_Difference का कार्यान्वयन C++ STL में Set_Difference का कार्यान्वयन

    दो सेट का डिफरेंस केवल उन तत्वों द्वारा बनता है जो पहले सेट में मौजूद होते हैं, दूसरे सेट में नहीं। फंक्शन द्वारा कॉपी किए गए तत्व हमेशा पहले सेट से उसी क्रम में आते हैं। दोनों सेट में तत्व पहले से क्रमबद्ध होने चाहिए। सामान्य सेट ऑपरेशन हैं: Set Union Set Intersection Symmetric Set Difference या