এই আর্টিকেলে C++ STL-এ map::emplace_hint() ফাংশনের ব্যবহার, সিনট্যাক্স এবং উদাহরণ আলোচনা করা হয়েছে।
Map কী?
Map হলো একটি অ্যাসোসিয়েটিভ কন্টেইনার যা কী-ভ্যালু জোড়া হিসেবে ডেটা সংরক্ষণ করে। ডেটা داخلیভাবে কী অনুযায়ী সর্টেড থাকে।
map::emplace_hint() কী?
emplace()-এর মতোই ইন-প্লেস কনস্ট্রাকশন করে, কিন্তু একটি হিন্ট (ইটারেটর) নেয় যা ইনসার্শন পজিশন অনুমান করতে সাহায্য করে। সঠিক হিন্ট দিলে কমপ্লেক্সিটি O(1) হতে পারে।
সিনট্যাক্স
map_name.emplace_hint(iterator hint, Args&& args);
প্যারামিটার
- hint — ইনসার্শন পজিশনের অনুমানী ইটারেটর।
- args — কনস্ট্রাক্টরের আর্গুমেন্টগুলো।
রিটার্ন ভ্যালু
সফল হলে নতুন এলিমেন্টের ইটারেটর, ব্যর্থ হলে বিদ্যমান সমতুল্য এলিমেন্টের ইটারেটর।
উদাহরণ
#include <bits/stdc++.h>
using namespace std;
int main() {
map<int, int> TP_Map;
TP_Map.emplace_hint(TP_Map.begin(), 4, 50);
TP_Map.emplace_hint(TP_Map.begin(), 2, 30);
TP_Map.emplace_hint(TP_Map.begin(), 1, 10);
cout << "TP Map:\nMAP_KEY\tMAP_ELEMENT\n";
for (auto i = TP_Map.begin(); i != TP_Map.end(); i++)
cout << i->first << "\t" << i->second << endl;
return 0;
}
আউটপুট
TP Map: MAP_KEY MAP_ELEMENT 1 10 2 30 4 50