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

सी ++ एसटीएल में मल्टीमैप इंसर्ट ()


इस लेख में हम C++ STL में मल्टीमैप ::इन्सर्ट () फंक्शन की कार्यप्रणाली, सिंटैक्स और उदाहरणों पर चर्चा करेंगे।

C++ STL में मल्टीमैप क्या है?

मल्टीमैप सहयोगी कंटेनर हैं, जो मानचित्र कंटेनर के समान हैं। यह एक विशिष्ट क्रम में की-वैल्यू और मैप्ड वैल्यू के संयोजन से बनने वाले तत्वों को स्टोर करने की सुविधा भी देता है। एक मल्टीमैप कंटेनर में एक ही कुंजी से जुड़े कई तत्व हो सकते हैं। डेटा को आंतरिक रूप से हमेशा संबंधित कुंजियों की सहायता से क्रमबद्ध किया जाता है।

मल्टीमैप क्या है::इन्सर्ट()?

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

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

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

सिंटैक्स

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);

पैरामीटर

यह फ़ंक्शन निम्नलिखित पैरामीटर को स्वीकार करता है -

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

  • वैल - वह मान जो डाला जाना है।

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

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

  • इल - यह इनिशियलाइज़र सूची है जिसमें वे तत्व शामिल हैं जिन्हें हम कंटेनर में इनिशियलाइज़ करना चाहते हैं।

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

यह फ़ंक्शन मानचित्र कंटेनर में डाले गए तत्व को एक पुनरावर्तक लौटाता है।

इनपुट

mutlimap<int, char> mymap;
mymap.insert(1, ‘a’);
mymap.insert(2, ‘b’);

आउटपुट

1: a
2: b

उदाहरण

//दी गई कुंजी के साथ किसी दिए गए स्थान पर सम्मिलित करना

#include <bits/stdc++.h>
using namespace std;
int main(){
   multimap<int, int> mul;
   //inserting elements in multimap
   mul.insert({ 1, 10 });
   mul.insert({ 2, 20 });
   mul.insert({ 3, 30 });
   mul.insert({ 4, 40 });
   mul.insert({ 5, 50 });
   //displaying multimap elements
   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

उदाहरण

//inserting the element after the given key
#include <bits/stdc++.h>
using namespace std;
int main(){
   multimap<int, int> mul;
   //inserting elements in multimap
   mul.insert({ 1, 10 });
   mul.insert({ 2, 20 });
   mul.insert({ 3, 30 });
   mul.insert({ 5, 40 });
   mul.insert({ 6, 50 });
   //finding the element after which we will insert
   auto i = mul.find(3);
   mul.insert(i, { 4, 90 });
   // print the elements
   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. एसटीएल में सी ++ में deque_insert ()

    C++ STL में Deque insert() फ़ंक्शन की कार्यक्षमता दिखाने का कार्य दिया गया है Deque क्या है? डेक डबल एंडेड क्यू है जो अनुक्रम कंटेनर हैं जो दोनों सिरों पर विस्तार और संकुचन की कार्यक्षमता प्रदान करते हैं। एक कतार डेटा संरचना उपयोगकर्ता को केवल END पर डेटा सम्मिलित करने और FRONT से डेटा हटाने की अनु

  1. सी ++ एसटीएल में सूची डालें ()

    एसटीएल में सी ++ में कार्यक्षमता सूची डालने () फ़ंक्शन को दिखाने का कार्य दिया गया है। STL में सूची क्या है सूची कंटेनर हैं जो क्रम में कहीं भी निरंतर समय सम्मिलन और विलोपन की अनुमति देते हैं। सूची को डबल लिंक्ड सूचियों के रूप में कार्यान्वित किया जाता है। सूची गैर-सन्निहित स्मृति आवंटन की अनुमति द

  1. सी ++ एसटीएल में डालें बनाम डालें

    एम्प्लेस ऑपरेशन ऑब्जेक्ट की अनावश्यक कॉपी से बचता है और इंसर्ट ऑपरेशन की तुलना में इंसर्शन को अधिक कुशलता से करता है। इन्सर्ट ऑपरेशन किसी ऑब्जेक्ट का संदर्भ लेता है। एल्गोरिदम Begin Declare set. Use emplace() to insert pair. Use insert() to insert pair by using emplace(). Print the set.