কম্পিউটার

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


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

C++ STL এ কি সেট করা আছে?

C++ STL-এর সেটগুলি হল সেই পাত্রে যার একটি সাধারণ ক্রমে অনন্য উপাদান থাকতে হবে। সেটের অনন্য উপাদান থাকতে হবে কারণ উপাদানটির মান উপাদানটিকে চিহ্নিত করে। একবার সেট কন্টেইনারে একটি মান যোগ করা হলে পরে পরিবর্তন করা যাবে না, যদিও আমরা এখনও সেটে মানগুলি সরাতে বা যোগ করতে পারি। সেটগুলিকে বাইনারি সার্চ ট্রি হিসাবে ব্যবহার করা হয়।

সেট কি::ইনসার্ট()?

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

সিনট্যাক্স

Set1.insert(const type_t &value); ----(1)
Or
Set1.insert(iterator position, const type_t &value); -----(2)
Or
Set1.insert(iterator position_1, iterator position_2); -----(3)

পরামিতি

  • মান − এটি সেই মান যা সেট কন্টেইনারে ঢোকানো হয়।

  • অবস্থান − এটি অবস্থানের ইঙ্গিত, এটি এই অবস্থান থেকে অনুসন্ধান করা শুরু করবে এবং উপাদানটি সন্নিবেশ করবে যেখানে এটি সন্নিবেশ করার জন্য উপযুক্ত৷

  • position_1, position_2 − এগুলি হল পুনরাবৃত্তিকারী যা পরিসীমা নির্দিষ্ট করে যা insert() এর সাথে যুক্ত সেটে ঢোকানো হবে। পরিসরের শুরুর জন্য অবস্থান_1 এবং ব্যাপ্তির শেষের জন্য অবস্থান_2।

রিটার্ন মান

ফাংশনে পাস করা আর্গুমেন্ট অনুযায়ী ফাংশন বিভিন্ন ধরনের মান প্রদান করে।

  • আমরা যখন শুধুমাত্র মান পাস; ফাংশনটি সেট কন্টেইনারে ঢোকানো উপাদানটির দিকে নির্দেশ করে ইটারেটর ফেরত দেয়।

  • আমরা যখন মান সঙ্গে অবস্থান পাস; ফাংশনটি আবার ইটারেটরকে নির্দেশ করে যে উপাদানটিকে সেট কন্টেনারে ঢোকানো হচ্ছে।

  • যখন আমরা অবস্থান_1 এবং অবস্থান_2 পাস করি; ফাংশনটি মানগুলির সেট প্রদান করে যা পজিশন_1 থেকে শুরু হয়ে অবস্থান_2 এ শেষ হয়।

উদাহরণ

Input: set<int> myset;
   myset.insert(10);
Output: values in the set = 10
Input: set <int> myset = {11, 12, 13, 14};
   myset.insert(myset.begin(), 10);
Output: values in the set = 10 11 12 13 14

উদাহরণ

একটি সারিতে একটি সেটে উপাদান সন্নিবেশ করানো হচ্ছে যেমন একের পর এক

#include <bits/stdc++.h>
using namespace std;
int main(){
   set<int> mySet;
   mySet.insert(10);
   mySet.insert(20);
   mySet.insert(30);
   mySet.insert(40);
   mySet.insert(50);
   cout<<"Elements are: ";
   for (auto i = mySet.begin(); i != mySet.end(); i++)
      cout << *i << " ";
   return 0;
}

আউটপুট

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

উৎপন্ন করবে
Elements are : 10 20 30 40 50

উদাহরণ

অবস্থানের উপর ভিত্তি করে সেটে উপাদান সন্নিবেশ করান

#include <bits/stdc++.h>
using namespace std;
int main(){
   set<int> mySet;
   auto i = mySet.insert(mySet.begin(), 10);
   i = mySet.insert(i, 20);
   i = mySet.insert(i, 40);
   i = mySet.insert(i, 30);
   i = mySet.insert(i, 80);
   i = mySet.insert(mySet.end(), 90);
   cout<<"Elements are: ";
   for (auto i = mySet.begin(); i != mySet.end(); i++)
      cout << *i << " ";
   return 0;
}

আউটপুট

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

উৎপন্ন করবে
Elements are: 10 20 30 40 80 90

  1. C++ STL-এ low_bound() ফাংশন সেট করুন

  2. C++ STL-এ find() ফাংশন সেট করুন

  3. C++ STL-এ multiset insert() ফাংশন

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