এই লেখায় আমরা C++ STL-এ multimap::upper_bound() ফাংশনের কাজ করার পদ্ধতি, সিনট্যাক্স এবং উদাহরণ নিয়ে আলোচনা করব।
C++ STL-এ Multimap কী?
Multimap হল একটি অ্যাসোসিয়েটিভ কন্টেইনার যা ম্যাপ কন্টেইনারের মতো। এটি কী-ভ্যালু জোড়া হিসেবে উপাদান সংরক্ষণ করে নির্দিষ্ট ক্রমে। একটি মাল্টিম্যাপ কন্টেইনারে একই কী-এর সাথে একাধিক উপাদান থাকতে পারে। ডেটা অভ্যন্তরীণভাবে সংশ্লিষ্ট কী-هاর সাহায্যে সর্টেড থাকে।
multimap::upper_bound() কী?
multimap::upper_bound() হল C++ STL-এ একটি বিল্ট-ইন ফাংশন, যা <map> হেডার ফাইলে সংজ্ঞায়িত। এই ফাংশনটি মাল্টিম্যাপ কন্টেইনারের আপার বাউন্ডের একটি ইটেরেটর রিটার্ন করে। এটি এমন একটি ইটেরেটর রিটার্ন করে যা কী k এর পরে যাওয়া শেষ উপাদানকে নির্দেশ করে।
সিনট্যাক্স
Map_name.upper_bound(key& k);
প্যারামিটার
- k — যে কীটি আমরা সার্চ করতে চাই।
রিটার্ন ভ্যালু
এই ফাংশন একটি ইটেরেটর রিটার্ন করে যা কী k এর পরবর্তী উপাদানকে নির্দেশ করে।
উদাহরণ
#include <bits/stdc++.h>
using namespace std;
int main() {
// একটি মাল্টিম্যাপ তৈরি
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});
// কী ১-এর আপার বাউন্ড
auto i = mul.upper_bound(1);
cout << "Upper bound of key 1 is: ";
cout << (*i).first << " " << (*i).second << endl;
// কী ২-এর আপার বাউন্ড
i = mul.upper_bound(2);
cout << "Upper bound of key 2 is: ";
cout << (*i).first << " " << (*i).second << endl;
// কী ৩-এর আপার বাউন্ড
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