কম্পিউটার

C++ STL-এ মাল্টিম্যাপ ইনসার্ট()


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

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

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

মাল্টিম্যাপ::ইনসার্ট() কি?

multimap::insert() ফাংশন হল C++ STL-এ একটি অন্তর্নির্মিত ফাংশন, যা হেডার ফাইলে সংজ্ঞায়িত করা হয়েছে। insert() মাল্টিম্যাপ কন্টেইনারে নতুন মান সন্নিবেশ করতে ব্যবহৃত হয় এবং ঢোকানো উপাদানের সংখ্যা দ্বারা কন্টেইনারের আকার বৃদ্ধি করে।

একটি মানচিত্র কন্টেইনারের বিপরীতে যা ইতিমধ্যেই উপস্থিত সম্পর্কিত কীটি পরীক্ষা করে তারপর উপাদানগুলি সন্নিবেশ করবে না তবে মাল্টিম্যাপে একই কীতে একাধিক উপাদান যুক্ত করার বৈশিষ্ট্য রয়েছে৷

সুতরাং, যখনই আমরা একটি উপাদান সন্নিবেশ করি তখন এটি তার কী অনুসারে তার নিজ নিজ অবস্থানে চলে যায়৷

সিনট্যাক্স

multiMap_name.insert({key& k, value_type& val});

অথবা

multiMap_name.insert(iterator& it, {key& k, value_type& val});

অথবা

multiMap_name.insert(iterator& position1, iterator& position2);

অথবা

multimap_name.insert(initializer_list <value_type> il);

প্যারামিটার

এই ফাংশন নিম্নলিখিত প্যারামিটার গ্রহণ করে −

  • কে − এটি সেই কী যা উপাদানটির সাথে যুক্ত। ফাংশন চেক করে যে কীটি ইতিমধ্যেই কন্টেইনারে আছে তাহলে এটি উপাদানটি সন্নিবেশ করে না।

  • val − যে মানটি সন্নিবেশ করা হবে৷

  • এটি − পুনরাবৃত্তের প্রকারের মান যা সেই অবস্থান দিতে ব্যবহৃত হয় যেখানে আমরা উপাদানটি সন্নিবেশ করতে চাই৷

  • অবস্থান1, অবস্থান2 − পজিশন1 হল প্রারম্ভিক অবস্থান এবং পজিশন2 হল শেষের অবস্থান যখন আমরা উপাদানগুলির সিরিজ সন্নিবেশ করতে চাই, আমরা একাধিক উপাদানের পরিসর ব্যবহার করতে পারি যা আমরা সন্নিবেশ করতে চাই৷

  • il − এটি হল ইনিশিয়ালাইজার তালিকা যে উপাদানগুলিকে আমরা কন্টেইনারে আরম্ভ করতে চাই৷

রিটার্ন মান

এই ফাংশনটি ম্যাপ কন্টেইনারে নতুন ঢোকানো উপাদানটিতে একটি পুনরাবৃত্তিকারী ফিরিয়ে দেয়।

ইনপুট

mutlimap<int, char> mymap;
mymap.insert(1, ‘a’);
mymap.insert(2, ‘b’);

আউটপুট

1: a
2: b

উদাহরণ

//প্রদত্ত কী দিয়ে একটি নির্দিষ্ট অবস্থানে সন্নিবেশ করা হচ্ছে

#include <bits/stdc++.h>
using namespace std;
int main(){
   multimap<int, int> mul;
   //inserting elements in multimap
   mul.insert({ 1, 10 });
   mul.insert({ 2, 20 });
   mul.insert({ 3, 30 });
   mul.insert({ 4, 40 });
   mul.insert({ 5, 50 });
   //displaying multimap elements
   cout << "Elements in multimap is : \n";
   cout << "KEY\tELEMENT\n";
   for (auto it = mul.begin(); it!= mul.end(); ++it){
      cout << it->first << '\t' << it->second << '\n';
   }
   return 0;
}

আউটপুট

যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট তৈরি করবে -

Elements in multimap is :
KEY ELEMENT
1 10
2 20
3 30
4 40
5 50

উদাহরণ

//inserting the element after the given key
#include <bits/stdc++.h>
using namespace std;
int main(){
   multimap<int, int> mul;
   //inserting elements in multimap
   mul.insert({ 1, 10 });
   mul.insert({ 2, 20 });
   mul.insert({ 3, 30 });
   mul.insert({ 5, 40 });
   mul.insert({ 6, 50 });
   //finding the element after which we will insert
   auto i = mul.find(3);
   mul.insert(i, { 4, 90 });
   // print the elements
   cout << "KEY\tELEMENT\n";
   for (auto itr = mul.begin(); itr!= mul.end(); ++itr){
      cout << itr->first << '\t' << itr->second << '\n';
   }
   return 0;
}

আউটপুট

যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট তৈরি করবে -

KEY ELEMENT
1 10
2 20
3 30
4 90
5 40
6 50

  1. C++ STL-এ insert() সেট করুন

  2. STL-এ C++-এ deque_insert( )

  3. C++ STL-এ তালিকা সন্নিবেশ () করুন

  4. C++ STL-এ emplace বনাম সন্নিবেশ