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

C++ STL में map::at() और map::swap() फंक्शन


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

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

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

map::at() क्या है?

map::at() फंक्शन C++ STL में एक इनबिल्ट फंक्शन है, जो <map> हेडर फाइल में परिभाषित है। 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<<"TP_1[1] पर तत्व = "<< TP_1.at(1) << endl;    cout<<"TP_1[2] पर तत्व = "<< TP_1.at(2) << endl;    cout<<"TP_1[3] पर तत्व = "<< TP_1.at(3) << endl;    cout<<"\nTP_2[7] पर तत्व = "<< TP_2.at(7) << endl;    cout<<"TP_2[5] पर तत्व = "<< TP_2.at(5) << endl;    return 0; }

आउटपुट

TP_1[1] पर तत्व = 10 TP_1[2] पर तत्व = 20 TP_1[3] पर तत्व = 30 TP_1[7] पर तत्व = 70 TP_1[5] पर तत्व = 50

map::swap() क्या है?

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

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

सिंटैक्स

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<<"स्वैप के बाद TP_1 के तत्व:\n"<< "\tKEY\tELEMENT\n";    for (auto i = TP_1.begin(); i!= TP_1.end(); i++) {       cout << "\t" << i->first << "\t" << i->second << '\n';    }    cout << "स्वैप के बाद TP_2 के तत्व:\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; }

आउटपुट

स्वैप के बाद TP_1 के तत्व: KEY ELEMENT 5 50 6 60 7 70 स्वैप के बाद TP_2 के तत्व: KEY ELEMENT 1 10 2 20 3 30 4 40

  1. - C++ STL में array::fill() और array::swap()

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

  1. - C++ STL में Set बनाम Map

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

  1. - C++ STL में Map और Multimap में अवरोही क्रम

    आम तौर पर, map और multimap का डिफ़ॉल्ट व्यवहार तत्वों को आरोही क्रम में संग्रहीत करना होता है। लेकिन हम greater फंक्शन का उपयोग करके तत्वों को अवरोही क्रम में संग्रहीत कर सकते हैं। अवरोही क्रम में Map यहां उपयोग किए गए फंक्शन: m::find() – यदि map में key b वाला तत्व मिलता है तो उसका इटरेटर लौटाता