इस लेख में हम C++ STL में set::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