इस लेख में हम 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