C++ STL में Multimap क्या है?
Multimap एक associative container है जो map container के समान होता है। यह key-value और mapped value के संयोजन से बने तत्वों को एक विशिष्ट क्रम में संग्रहीत करता है। एक multimap container में एक ही key से जुड़े कई तत्व हो सकते हैं। डेटा आंतरिक रूप से हमेशा उससे जुड़ी keys की मदद से सॉर्ट किया जाता है।
multimap::lower_bound() क्या है?
multimap::lower_bound() C++ STL में एक अंतर्निहित फंक्शन है, जो <map> हेडर फाइल में परिभाषित है। lower_bound() multimap container के lower bound पर एक iterator लौटाता है। यह फंक्शन एक iterator लौटाता है जो पहले तत्व की ओर इंगित करता है जिसे key k से पहले माना जाता है।
सिंटैक्स
multi.lower_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 का lower bound
auto i = mul.lower_bound(1);
cout << "Lower bound of key 1 is: ";
cout << (*i).first << " " << (*i).second << endl;
// 2 का lower bound
i = mul.lower_bound(2);
cout << "Lower bound of key 2 is: ";
cout << (*i).first << " " << (*i).second << endl;
// 3 का lower bound
i = mul.lower_bound(3);
cout << "Lower bound of key 3 is: ";
cout << (*i).first << " " << (*i).second << endl;
return 0;
}
आउटपुट
Lower bound of key 1 is: 1 20 Lower bound of key 2 is: 2 10 Lower bound of key 3 is: 3 40