এই নিবন্ধে আমরা C++ STL-এ মাল্টিম্যাপ::ইনসার্ট() ফাংশনের কাজ, সিনট্যাক্স এবং উদাহরণ নিয়ে আলোচনা করব।
C++ STL-এ মাল্টিম্যাপ কী?
মাল্টিম্যাপ হল অ্যাসোসিয়েটিভ কন্টেইনার, যা ম্যাপ কন্টেইনারের মতো। এটি একটি নির্দিষ্ট ক্রমে কী-মান এবং ম্যাপ করা মানের সংমিশ্রণ দ্বারা গঠিত উপাদানগুলিকে সংরক্ষণ করতে সহায়তা করে। একটি মাল্টিম্যাপ পাত্রে একই কী-এর সাথে যুক্ত একাধিক উপাদান থাকতে পারে। ডেটা সর্বদা অভ্যন্তরীণভাবে তার সম্পর্কিত কীগুলির সাহায্যে সাজানো হয়৷
মাল্টিম্যাপ::ইনসার্ট() কি?
multimap::insert() ফাংশন হল C++ STL-এ একটি অন্তর্নির্মিত ফাংশন, যা
একটি মানচিত্র কন্টেইনারের বিপরীতে যা ইতিমধ্যেই উপস্থিত সম্পর্কিত কীটি পরীক্ষা করে তারপর উপাদানগুলি সন্নিবেশ করবে না তবে মাল্টিম্যাপে একই কীতে একাধিক উপাদান যুক্ত করার বৈশিষ্ট্য রয়েছে৷
সুতরাং, যখনই আমরা একটি উপাদান সন্নিবেশ করি তখন এটি তার কী অনুসারে তার নিজ নিজ অবস্থানে চলে যায়৷
সিনট্যাক্স
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