কম্পিউটার

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


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

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

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

কী সেট করা হয়েছে::emplace_hint()

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

সিনট্যাক্স

Set1.emplace_hint(iterator position, const type_t& value);

প্যারামিটার

এই ফাংশনটি দুটি প্যারামিটার গ্রহণ করে, একটি ইঙ্গিত অবস্থানের জন্য এবং দ্বিতীয়টি হল উপাদান যা স্থাপন করা হবে৷

অবস্থান − এটি ইঙ্গিত অবস্থান, যেখান থেকে অনুসন্ধান করা শুরু হয় স্থাপন করা মানটির অবস্থান খুঁজে পেতে। এই অবস্থানটি শুধুমাত্র ফাংশনের কাজকে দ্রুত করার জন্য ঘটবে, এই ফাংশনটি এলিমেন্টের সঠিক অবস্থান নির্দিষ্ট করে না যা স্থাপন করা হবে।

মান − প্রকৃত মূল্য যা আমাদের প্রতিস্থাপন করতে হবে৷

রিটার্ন মান

যদি উপাদানটি সফলভাবে ঢোকানো হয় তবে এই ফাংশনটি নতুন সন্নিবেশিত উপাদানটিতে পুনরাবৃত্তিকারীকে ফিরিয়ে দেয়৷

উদাহরণ

Input: set mySet;
mySet.emplace_hint(mySet.begin(), 0);
mySet.emplace_hint(i, 1);
mySet.emplace_hint(i, 2);
mySet.emplace_hint(i, 1);
Output: Elements are : 0 1 2

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
int main(){
   set<int> mySet;
   auto i = mySet.emplace_hint(mySet.begin(), 0);
   i = mySet.emplace_hint(i, 1);
   mySet.emplace_hint(i, 2);
   mySet.emplace_hint(i, 1);
   cout<<"elements are : ";
   for (auto i = mySet.begin(); i != mySet.end(); i++)
      cout << *i<< " ";
   return 0;
}

আউটপুট

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

উৎপন্ন করবে
Elements are : 0 1 2

উদাহরণ

#include <iostream>
#include <set>
#include <string>
int main (){
   std::set<std::string> mySet;
   auto i = mySet.cbegin();
   mySet.emplace_hint (i,"best");
   i = mySet.emplace_hint (mySet.cend(),"point");
   i = mySet.emplace_hint (i,"is the");
   i = mySet.emplace_hint (i,"tutorials");
   std::cout<<"string is : ";
   for(const std::string& str: mySet)
      std::cout << ' ' << str;
   std::cout << '\n';
   return 0;
}

আউটপুট

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

উৎপন্ন করবে
String is : best is the point tutorials

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

  2. C++ STL-এ নেগেট ফাংশন

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

  4. C++ STL-এ acos() ফাংশন