C++ STL में Multimap क्या है?
Multimap एक associative container है जो map container के समान होता है। यह key-value और mapped value के संयोजन से बने तत्वों को एक विशिष्ट क्रम में संग्रहीत करता है। एक multimap container में एक ही key से जुड़े कई तत्व हो सकते हैं। डेटा आंतरिक रूप से हमेशा उससे जुड़ी keys की मदद से सॉर्ट किया जाता है।
multimap::upper_bound() क्या है?
multimap::upper_bound() C++ STL में एक अंतर्निहित फंक्शन है, जो <map> हेडर फाइल में परिभाषित है। upper_bound() multimap container के upper bound पर एक iterator लौटाता है। यह फंक्शन एक iterator लौटाता है जो अंतिम तत्व की ओर इंगित करता है जिसे key k के बाद माना जाता है।
सिंटैक्स
Map_name.upper_bound(key& k);
पैरामीटर
k - वह key जिसे हम खोजना चाहते हैं।
रिटर्न वैल्यू
यह फंक्शन उस iterator को लौटाता है जो key 'k' के अगले तत्व की ओर इंगित करता है जिसे key k के बाद माना जाता है।
उदाहरण
#include <bits/stdc++.h>
using namespace std;
int main() {
// एक multimap बनाना
multimap<int, int> mul;
mul.insert({2, 10});
mul.insert({1, 20});
mul.insert({1, 30});
mul.insert({3, 40});
mul.insert({3, 50});
mul.insert({4, 60});
// 1 का upper bound
auto i = mul.upper_bound(1);
cout << "Upper bound of key 1 is: ";
cout << (*i).first << " " << (*i).second << endl;
// 2 का upper bound
i = mul.upper_bound(2);
cout << "Upper bound of key 2 is: ";
cout << (*i).first << " " << (*i).second << endl;
// 3 का upper bound
i = mul.upper_bound(3);
cout << "Upper bound of key 3 is: ";
cout << (*i).first << " " << (*i).second << endl;
return 0;
}
आउटपुट
Upper bound of key 1 is: 2 10 Upper bound of key 2 is: 3 40 Upper bound of key 3 is: 4 60