এই আর্টিকেলে C++ STL-এ map::key_comp() ফাংশনের ব্যবহার, সিনট্যাক্স এবং উদাহরণ আলোচনা করা হয়েছে।
Map কী?
Map হলো একটি অ্যাসোসিয়েটিভ কন্টেইনার যা কী-ভ্যালু জোড়া হিসেবে ডেটা সংরক্ষণ করে। ডেটা داخلیভাবে কী অনুযায়ী সর্টেড থাকে।
map::key_comp() কী?
এটি ম্যাপের কী তুলনার জন্য কম্প্যারিজন অবজেক্টের একটি কপি ফেরত দেয়। ডিফল্টভাবে এটি less কম্প্যারেটর (অর্থাৎ ছোট থেকে বড় সাজানোর নিয়ম)। এটি দুটি কী তুলনা করে প্রথমটি ছোট হলে true ফেরত দেয়।
সিনট্যাক্স
map_name.key_comp();
প্যারামিটার
কোনো প্যারামিটার নেয় না।
রিটার্ন ভ্যালু
কী কম্প্যারিজন অবজেক্ট।
উদাহরণ ১: ইন্ট কী
#include <bits/stdc++.h>
using namespace std;
int main() {
map<int, char> TP;
auto cmp = TP.key_comp();
TP[0] = 'a'; TP[1] = 'b'; TP[2] = 'c'; TP[3] = 'd';
cout << "ম্যাপের এলিমেন্টগুলো:\n";
int lastKey = TP.rbegin()->first;
for (auto it = TP.begin(); ; ++it) {
cout << it->first << " : " << it->second << '\n';
if (cmp(it->first, lastKey) == false) break;
}
return 0;
}
আউটপুট
ম্যাপের এলিমেন্টগুলো: 0 : a 1 : b 2 : c 3 : d
উদাহরণ ২: ক্যারেক্টার কী
#include <bits/stdc++.h>
using namespace std;
int main() {
map<char, int> TP;
auto cmp = TP.key_comp();
TP['a'] = 0; TP['b'] = 1; TP['c'] = 3; TP['d'] = 2;
cout << "ম্যাপের এলিমেন্টগুলো:\n";
char lastKey = TP.rbegin()->first;
for (auto it = TP.begin(); ; ++it) {
cout << it->first << " : " << it->second << '\n';
if (cmp(it->first, lastKey) == false) break;
}
return 0;
}
আউটপুট
ম্যাপের এলিমেন্টগুলো: a : 0 b : 1 c : 3 d : 2