Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

सी ++ एसटीएल में emplace_hint () फ़ंक्शन सेट करें

इस लेख में हम 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

  1. सी ++ एसटीएल में नकारात्मक समारोह

    नेगेट फ़ंक्शन का उपयोग दिए गए मानों को नकारने के लिए किया जाता है जैसे कि मानों के संकेत को बदलने के लिए। यह नकारात्मक मानों को सकारात्मक और इसके विपरीत में बदल देता है। फ़ंक्शन प्रोटोटाइप: function transform(a_begin, a_end, a1_begin, negate()):    a_begin = lower bound of the array.  

  1. atan2 () सी ++ एसटीएल में समारोह

    atan2() फ़ंक्शन y और x के संदर्भ में निर्देशांक के स्पर्शरेखा प्रतिलोम को लौटाता है। यहाँ y और x क्रमशः y और x निर्देशांक के मान हैं। यह C++ STL में एक इनबिल्ट फंक्शन है। atan2() फ़ंक्शन का सिंटैक्स निम्नानुसार दिया गया है। atan2(dataType var1, dataType var2) जैसा कि सिंटैक्स से देखा जा सकता है, फ

  1. एसीओएस () सी ++ एसटीएल में फ़ंक्शन

    acos() फ़ंक्शन रेडियन में दिए गए कोण की प्रतिलोम कोज्या लौटाता है। यह C++ STL में एक इनबिल्ट फंक्शन है। एकोस () फ़ंक्शन का सिंटैक्स निम्नानुसार दिया गया है। acos(var) जैसा कि सिंटैक्स से देखा जा सकता है, फ़ंक्शन acos () डेटा प्रकार फ्लोट, डबल या लॉन्ग डबल के पैरामीटर var को स्वीकार करता है। इस पैर