কম্পিউটার

C++ STL-এ multimap::emplace_hint()


এই নিবন্ধে আমরা C++ STL-এ মাল্টিম্যাপ::emplace_hint() ফাংশনের কাজ, সিনট্যাক্স এবং উদাহরণ নিয়ে আলোচনা করব।

C++ STL-এ মাল্টিম্যাপ কী?

মাল্টিম্যাপ হল অ্যাসোসিয়েটিভ কন্টেইনার, যা ম্যাপ কন্টেইনারের মতো। এটি একটি নির্দিষ্ট ক্রমে কী-মান এবং ম্যাপ করা মানের সংমিশ্রণ দ্বারা গঠিত উপাদানগুলিকে সংরক্ষণ করার সুবিধা দেয়। একটি মাল্টিম্যাপ পাত্রে, একই কী-এর সাথে যুক্ত একাধিক উপাদান থাকতে পারে। ডেটা সর্বদা অভ্যন্তরীণভাবে তার সম্পর্কিত কীগুলির সাহায্যে সাজানো হয়৷

মাল্টিম্যাপ::emplace_hint() কি?

emplace_hint() ফাংশন হল C++ STL-এ একটি অন্তর্নির্মিত ফাংশন, যা হেডার ফাইলে সংজ্ঞায়িত করা হয়েছে। এই ফাংশনটি একটি অবস্থান সহ মাল্টিম্যাপ কন্টেইনারে একটি নতুন উপাদান সন্নিবেশ করায়। emplace_hint() এ আমরা একটি পজিশনের সাথে উপাদানটি পাস করি, অবস্থানটি একটি ইঙ্গিত হিসাবে কাজ করে। এই ফাংশনটি emplace() এর মতই পার্থক্য হল আমরা মান সন্নিবেশ করার জন্য একটি অবস্থানের ইঙ্গিত দিই। এই ফাংশনটি মাল্টিসেট কন্টেইনারের আকার 1 দ্বারা বৃদ্ধি করে।

সিনট্যাক্স

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

  1. মাল্টিম্যাপ::অপারেটর=C++ STL-এ

  2. মাল্টিম্যাপ::swap() C++ STL-এ

  3. C++ STL-এ ম্যাপ emplace_hint() ফাংশন

  4. STL-এ মাল্টিম্যাপ বাস্তবায়নের জন্য C++ প্রোগ্রাম