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

C++ STL में multimap insert()


C++ STL में Multimap क्या है?

Multimap एक associative container है जो map container के समान होता है। यह key-value और mapped value के संयोजन से बने तत्वों को एक विशिष्ट क्रम में संग्रहीत करता है। एक multimap container में एक ही key से जुड़े कई तत्व हो सकते हैं। डेटा आंतरिक रूप से हमेशा उससे जुड़ी keys की मदद से सॉर्ट किया जाता है।

multimap::insert() क्या है?

multimap::insert() C++ STL में एक अंतर्निहित फंक्शन है, जो <map> हेडर फाइल में परिभाषित है। insert() का उपयोग multimap container में नए मान सम्मिलित करने के लिए किया जाता है और सम्मिलित तत्वों की संख्या से container का आकार बढ़ जाता है।

एक map container के विपरीत जो जांचता है कि संबंधित key पहले से मौजूद है तो तत्व सम्मिलित नहीं करेगा, लेकिन multimap में एक ही key से कई तत्वों को जोड़ने की सुविधा होती है।

इसलिए, जब भी हम एक तत्व सम्मिलित करते हैं तो वह अपने key के अनुसार अपनी संबंधित स्थिति पर चला जाता है।

सिंटैक्स

multiMap_name.insert({key& k, value_type& val});
multiMap_name.insert(iterator& it, {key& k, value_type& val});
multiMap_name.insert(iterator& position1, iterator& position2);
multimap_name.insert(initializer_list <value_type> il);

पैरामीटर

  • k - यह वह key है जो तत्व से जुड़ी होती है। फंक्शन जांचता है कि क्या key पहले से container में है तो यह तत्व सम्मिलित नहीं करता।

  • val - वह मान जिसे सम्मिलित किया जाना है।

  • it - iterator प्रकार का मान जिसका उपयोग उस स्थिति को देने के लिए किया जाता है जहां हम तत्व सम्मिलित करना चाहते हैं।

  • position1, position2 - position1 प्रारंभिक स्थिति है और position2 अंतिम स्थिति है जब हम तत्वों की श्रृंखला सम्मिलित करना चाहते हैं, हम कई तत्वों की range का उपयोग कर सकते हैं जिन्हें हम सम्मिलित करना चाहते हैं।

  • il - यह वह initializer list है जिसमें वे तत्व होते हैं जिन्हें हम container में प्रारंभ करना चाहते हैं।

रिटर्न वैल्यू

यह फंक्शन map container में नए सम्मिलित तत्व पर एक iterator लौटाता है।

उदाहरण

// दिए गए स्थान पर दिए गए key के साथ सम्मिलित करना

#include <bits/stdc++.h>
using namespace std;

int main() {
    multimap<int, int> mul;
    
    // multimap में तत्व सम्मिलित करना
    mul.insert({1, 10});
    mul.insert({2, 20});
    mul.insert({3, 30});
    mul.insert({4, 40});
    mul.insert({5, 50});
    
    // multimap तत्व प्रदर्शित करना
    cout << "Elements in multimap is: \n";
    cout << "KEY\tELEMENT\n";
    
    for (auto it = mul.begin(); it != mul.end(); ++it) {
        cout << it->first << '\t' << it->second << '\n';
    }
    
    return 0;
}

आउटपुट

Elements in multimap is:
KEY    ELEMENT
1      10
2      20
3      30
4      40
5      50

उदाहरण

// दिए गए key के बाद तत्व सम्मिलित करना
#include <bits/stdc++.h>
using namespace std;

int main() {
    multimap<int, int> mul;
    
    // multimap में तत्व सम्मिलित करना
    mul.insert({1, 10});
    mul.insert({2, 20});
    mul.insert({3, 30});
    mul.insert({5, 40});
    mul.insert({6, 50});
    
    // उस तत्व को ढूंढना जिसके बाद हम सम्मिलित करेंगे
    auto i = mul.find(3);
    mul.insert(i, {4, 90});
    
    // तत्व प्रिंट करें
    cout << "KEY\tELEMENT\n";
    for (auto itr = mul.begin(); itr != mul.end(); ++itr) {
        cout << itr->first << '\t' << itr->second << '\n';
    }
    
    return 0;
}

आउटपुट

KEY    ELEMENT
1      10
2      20
3      30
4      90
5      40
6      50
  1. - C++ STL में deque_insert()

    Deque क्या है?Deque डबल एंडेड कतारें हैं जो अनुक्रम कंटेनर हैं जो दोनों छोरों पर विस्तार और संकुचन की कार्यक्षमता प्रदान करती हैं। एक कतार डेटा संरचना उपयोगकर्ता को केवल अंत में डेटा डालने और सामने से डेटा हटाने की अनुमति देती है। बस स्टॉप पर कतारों की सादृश्यता लें जहां व्यक्ति को केवल अंत से कतार

  1. - C++ STL में list insert()

    STL में List क्या हैList कंटेनर हैं जो अनुक्रम में कहीं भी निरंतर समय सम्मिलन और विलोपन की अनुमति देते हैं। List को डबल लिंक्ड सूचियों के रूप में कार्यान्वित किया जाता है। List गैर-सन्निकट मेमोरी आवंटन की अनुमति देते हैं। List सरणी, वेक्टर और deque की तुलना में किसी भी स्थिति में तत्व के सम्मिलन, नि

  1. - C++ STL में emplace बनाम insert

    emplace ऑपरेशन ऑब्जेक्ट की अनावश्यक कॉपी से बचाता है और इन्सर्ट ऑपरेशन की तुलना में अधिक कुशलता से इन्सर्शन करता है। इन्सर्ट ऑपरेशन एक ऑब्जेक्ट के संदर्भ को लेता है। एल्गोरिदम Begin सेट घोषित करें। पेयर इन्सर्ट करने के लिए emplace() का उपयोग करें। emplace() का उपयोग करके पेयर इन्सर्ट कर