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

सी ++ एसटीएल में नक्शा ::पर () और नक्शा ::स्वैप ()

इस लेख में हम C++ STL में काम करने, वाक्य रचना और map::at() और map::swap() फ़ंक्शंस के उदाहरणों पर चर्चा करेंगे।

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

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

नक्शा क्या है::at()?

map::at() फंक्शन C++ STL में एक इनबिल्ट फंक्शन है, जिसे हेडर फाइल में परिभाषित किया गया है। at() संबंधित मानचित्र कंटेनर के एक विशिष्ट तत्व तक पहुंचने के लिए उपयोग किया जाता है। यह फ़ंक्शन उस विशिष्ट मान का संदर्भ देता है जो कुंजी से जुड़ा होता है।

यदि ऐसा कोई मामला है जब कुंजी मानचित्र कंटेनर की किसी भी कुंजी से मेल नहीं खा रही है, तो फ़ंक्शन एक out_of_range अपवाद फेंकता है।

सिंटैक्स

map_name.at(key& k);

पैरामीटर

फ़ंक्शन एक पैरामीटर यानी

. को स्वीकार करता है
  • k - यह वह कुंजी है जहां हम संदर्भित करना चाहते हैं।

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

यह फ़ंक्शन कुंजी k से संबद्ध मान का संदर्भ देता है जिसे हम ढूंढ रहे हैं।

उदाहरण

इनपुट

std::map<int> mymap;
mymap.insert({‘a’, 10});
mymap.insert({‘b, 20});
mymap.insert({‘c, 30});
mymap.at(‘b’);

आउटपुट

b:20

उदाहरण

#include <bits/stdc++.h>
using namespace std;
int main() {
   map<int, int> TP_1;
   map<int, int> TP_2;
   TP_1[1] = 10;
   TP_1[2] = 20;
   TP_1[3] = 30;
   TP_1[4] = 40;
   TP_2[5] = 50;
   TP_2[6] = 60;
   TP_2[7] = 70;
   cout<<"Elements at TP_1[1] = "<< TP_1.at(1) << endl;
   cout<<"Elements at TP_1[2] = "<< TP_1.at(2) << endl;
   cout<<"Elements at TP_1[3] = "<< TP_1.at(3) << endl;
   cout<<"\nElements at TP_2[7] = "<< TP_2.at(7) << endl;
   cout<<"Elements at TP_2[5] = "<< TP_2.at(5) << endl;
   return 0;
}

आउटपुट

Elements at TP_1[1] = 10
Elements at TP_1[2] = 20
Elements at TP_1[3] = 30
Elements at TP_1[7] = 70
Elements at TP_1[5] = 50

नक्शा क्या है::स्वैप()?

map::swap() function C++ STL में एक इनबिल्ट फंक्शन है, जिसे हैडर फाइल में परिभाषित किया गया है। स्वैप () का उपयोग दो मानचित्र कंटेनरों की सामग्री को स्वैप करने के लिए किया जाता है। यह फ़ंक्शन दो मैप कंटेनर के मानों को स्वैप करता है, भले ही दोनों मैप कंटेनर का आकार कुछ भी हो।

जब इस फ़ंक्शन को कॉल किया जाता है तो यह पैरामीटर लेता है जो एक अन्य मैप कंटेनर है और संबंधित कंटेनर के साथ सामग्री को स्वैप करता है।

सिंटैक्स

map_name.swap(map& map_name2);

पैरामीटर

फ़ंक्शन एक पैरामीटर यानी

. को स्वीकार करता है
  • map_name2 - यह अन्य मैप कंटेनर का ऑब्जेक्ट है जिसका डेटा हम संबंधित मैप कंटेनर से स्वैप करना चाहते हैं।

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

यह फ़ंक्शन कुछ भी नहीं देता है।

उदाहरण

इनपुट

std::map<int> odd, eve;
odd.insert({‘a’, 1});
odd.insert({‘b’, 3});
odd.insert({‘c’, 5});
eve.insert({‘d’, 2});
eve.insert({‘e’, 4});
eve.insert({‘f’, 6});
odd.swap(eve);

आउटपुट

Odd: d: 2 e:4 f:6
Eve: a:1 b:3 c:5

उदाहरण

#include <bits/stdc++.h>
using namespace std;
int main() {
   map<int, int> TP_1;
   map<int, int> TP_2;
   TP_1[1] = 10;
   TP_1[2] = 20;
   TP_1[3] = 30;
   TP_1[4] = 40;
   TP_2[5] = 50;
   TP_2[6] = 60;
   TP_2[7] = 70;
   swap(TP_1, TP_2);
   cout<<"Elements of TP_1 after swap:\n"<< "\tKEY\tELEMENT\n";
   for (auto i = TP_1.begin(); i!= TP_1.end(); i++) {
      cout << "\t" << i->first << "\t" << i->second << '\n';
   }
   cout << "Elements of TP_2 after swap:\n"<< "\tKEY\tELEMENT\n";
   for (auto i = TP_2.begin(); i!= TP_2.end(); i++) {
      cout << "\t" << i->first << "\t" << i->second << '\n';
   }
   return 0;
}

आउटपुट

Elements of TP_1 after swap:
KEY    ELEMENT
5       50
6       60
7       70
Elements of TP_2 after swap:
KEY    ELEMENT
1       10
2       20
3       30
4       40

  1. सी ++ एसटीएल में ऐरे ::भरें () और सरणी ::स्वैप ()?

    इस खंड में हम देखेंगे कि C++ STL में array::fill() और array::swap() के उपयोग क्या हैं। सरणी ::भरण () फ़ंक्शन का उपयोग कुछ निर्दिष्ट मान के साथ सरणी को भरने के लिए किया जाता है। आइए विचार प्राप्त करने के लिए एक उदाहरण देखें। उदाहरण #include<iostream> #include<array> using namespace std;

  1. सी ++ एसटीएल में बनाम मानचित्र सेट करें

    सेट एक सार डेटा प्रकार है जिसमें प्रत्येक तत्व को अद्वितीय होना चाहिए क्योंकि तत्व का मान इसकी पहचान करता है। तत्व के मूल्य को एक बार सेट में जोड़ने के बाद संशोधित नहीं किया जा सकता है, लेकिन उस तत्व के संशोधित मूल्य को हटाना और जोड़ना संभव है। नक्शा एक सहयोगी कंटेनर है जो मैप किए गए फैशन में तत्वो

  1. मानचित्र में अवरोही क्रम और C++ STL का मल्टीमैप

    आम तौर पर, तत्वों को संग्रहीत करने के लिए मानचित्र और मल्टीमैप मानचित्र का डिफ़ॉल्ट व्यवहार आरोही क्रम में होता है। लेकिन हम अधिक फ़ंक्शन का उपयोग करके तत्व को अवरोही क्रम में संग्रहीत कर सकते हैं। मानचित्र अवरोही क्रम में: यहां कार्यों का उपयोग किया जाता है - m::find() - मानचित्र में कुंजी मान