এই লেখায় আমরা C++ STL-এ multimap::lower_bound() ফাংশনের কাজ করার পদ্ধতি, সিনট্যাক্স এবং উদাহরণ নিয়ে আলোচনা করব।
C++ STL-এ Multimap কী?
Multimap হল একটি অ্যাসোসিয়েটিভ কন্টেইনার যা ম্যাপ কন্টেইনারের মতো। এটি কী-ভ্যালু জোড়া হিসেবে উপাদান সংরক্ষণ করে নির্দিষ্ট ক্রমে। একটি মাল্টিম্যাপ কন্টেইনারে একই কী-এর সাথে একাধিক উপাদান থাকতে পারে। ডেটা অভ্যন্তরীণভাবে সংশ্লিষ্ট কী-هاর সাহায্যে সর্টেড থাকে।
multimap::lower_bound() কী?
multimap::lower_bound() হল C++ STL-এ একটি বিল্ট-ইন ফাংশন, যা <map> হেডার ফাইলে সংজ্ঞায়িত। এই ফাংশনটি মাল্টিম্যাপ কন্টেইনারের লোয়ার বাউন্ডের একটি ইটেরেটর রিটার্ন করে। এটি এমন একটি ইটেরেটর রিটার্ন করে যা প্রথম ঐ উপাদানকে নির্দেশ করে যা কী k এর আগে যেতে পারে।
সিনট্যাক্স
multi.lower_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.lower_bound(1);
cout << "Lower bound of key 1 is: ";
cout << (*i).first << " " << (*i).second << endl;
// কী ২-এর লোয়ার বাউন্ড
i = mul.lower_bound(2);
cout << "Lower bound of key 2 is: ";
cout << (*i).first << " " << (*i).second << endl;
// কী ৩-এর লোয়ার বাউন্ড
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