এই নিবন্ধে আমরা C++ STL-এ মাল্টিম্যাপ::emplace_hint() ফাংশনের কাজ, সিনট্যাক্স এবং উদাহরণ নিয়ে আলোচনা করব।
C++ STL-এ মাল্টিম্যাপ কী?
মাল্টিম্যাপ হল অ্যাসোসিয়েটিভ কন্টেইনার, যা ম্যাপ কন্টেইনারের মতো। এটি একটি নির্দিষ্ট ক্রমে কী-মান এবং ম্যাপ করা মানের সংমিশ্রণ দ্বারা গঠিত উপাদানগুলিকে সংরক্ষণ করার সুবিধা দেয়। একটি মাল্টিম্যাপ পাত্রে, একই কী-এর সাথে যুক্ত একাধিক উপাদান থাকতে পারে। ডেটা সর্বদা অভ্যন্তরীণভাবে তার সম্পর্কিত কীগুলির সাহায্যে সাজানো হয়৷
মাল্টিম্যাপ::emplace_hint() কি?
emplace_hint() ফাংশন হল C++ STL-এ একটি অন্তর্নির্মিত ফাংশন, যা
সিনট্যাক্স
multimap_name.emplace_hint(iterator pos, Args& val);
পরামিতি
ফাংশন নিম্নলিখিত প্যারামিটার(গুলি)-
গ্রহণ করে-
পস − এটি হল পুনরাবৃত্তির প্রকারের আর্গুমেন্ট যা অবস্থানের ইঙ্গিত দিতে ব্যবহৃত হয়।
-
val − এটি সেই উপাদান যা আমরা সন্নিবেশ করতে চাই৷
৷
রিটার্ন মান
এই ফাংশনটি একটি পুনরাবৃত্তিকারীকে সেই অবস্থানে ফিরিয়ে দেয় যেখানে উপাদানটি স্থাপন/প্রবেশ করা হয়েছে।
ইনপুট
std::multimap<char, int> odd, eve;
odd.insert({‘a’, 1});
odd.insert({‘b’, 3});
odd.insert({‘c’, 5});
odd.emplace_hint(odd.end(), {‘d’, 7}); আউটপুট
Odd: a:1 b:3 c:5 d:7
উদাহরণ
Code:
#include <bits/stdc++.h>
using namespace std;
int main(){
//create the container
multimap<int, int> mul;
//insert using emplace
mul.emplace_hint(mul.begin(), 1, 10);
mul.emplace_hint(mul.begin(), 2, 20);
mul.emplace_hint(mul.begin(), 3, 30);
mul.emplace_hint(mul.begin(), 1, 40);
mul.emplace_hint(mul.begin(), 4, 50);
mul.emplace_hint(mul.begin(), 5, 60);
cout << "\nElements in multimap is : \n";
cout << "KEY\tELEMENT\n";
for (auto i = mul.begin(); i!= mul.end(); i++){
cout << i->first << "\t" << i->second << endl;
}
return 0;
} আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট তৈরি করবে -
Elements in multimap is : KEY ELEMENT 1 40 1 10 2 20 3 30 4 50 5 60