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

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

मैप एक सहयोगी कंटेनर है जो तत्वों को मैप्ड तरीके से संग्रहीत करता है। प्रत्येक तत्व का एक कुंजी मान और एक मैप्ड मान होता है। दो मैप्ड मानों में समान कुंजी मान नहीं हो सकते।

उपयोग किए गए फंक्शन:

  • m::find() – यदि मैप में key 'b' वाला तत्व मिलता है तो उसका इटरेटर लौटाता है, अन्यथा end इटरेटर लौटाता है।
  • m::erase() – मैप से कुंजी मान को हटाता है।
  • m::equal_range() – जोड़ों का एक इटरेटर लौटाता है। यह जोड़ा उन सभी तत्वों की सीमा को संदर्भित करता है जिनका key दिए गए key के बराबर है।
  • m::insert() – मैप कंटेनर में तत्व डालने के लिए।
  • m::size() – मैप कंटेनर में तत्वों की संख्या लौटाता है।
  • m::count() – मैप में key 'a' या 'f' वाले तत्व से मेल खाने वाले तत्वों की संख्या लौटाता है।

उदाहरण कोड

#include <iostream>
#include <map>
#include <string>
using namespace std;

int main() {
    map<char, int> m;
    map<char, int>::iterator it;

    m.insert(pair<char, int>('a', 10));
    m.insert(pair<char, int>('b', 20));
    m.insert(pair<char, int>('c', 30));
    m.insert(pair<char, int>('d', 40));

    cout << "Size of the map: " << m.size() << endl;
    cout << "map contains:\n";

    for (it = m.begin(); it != m.end(); ++it)
        cout << (*it).first << " => " << (*it).second << '\n';

    for (char c = 'a'; c <= 'd'; c++) {
        cout << "There are " << m.count(c) << " element(s) with key " << c << ":";
        map<char, int>::iterator it;
        for (it = m.equal_range(c).first; it != m.equal_range(c).second; ++it)
            cout << ' ' << (*it).second;
        cout << endl;
    }

    if (m.count('a'))
        cout << "The key a is present\n";
    else
        cout << "The key a is not present\n";

    if (m.count('f'))
        cout << "The key f is present\n";
    else
        cout << "The key f is not present\n";

    it = m.find('b');
    m.erase(it);

    cout << "Size of the map: " << m.size() << endl;
    cout << "map contains:\n";
    for (it = m.begin(); it != m.end(); ++it)
        cout << (*it).first << " => " << (*it).second << '\n';

    return 0;
}

आउटपुट

Size of the map: 4
map contains:
a => 10
b => 20
c => 30
d => 40
There are 1 element(s) with key a: 10
There are 1 element(s) with key b: 20
There are 1 element(s) with key c: 30
There are 1 element(s) with key d: 40
The key a is present
The key f is not present
Size of the map: 3
map contains:
a => 10
c => 30
d => 40
  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 या