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

सी ++ एसटीएल में फॉरवर्ड_लिस्ट मर्ज ()

इस लेख में हम C++ में फॉरवर्ड_लिस्ट ::मर्ज () फंक्शन की कार्यप्रणाली, सिंटैक्स और उदाहरणों पर चर्चा करेंगे।

STL में Forward_list क्या है?

फॉरवर्ड लिस्ट अनुक्रम कंटेनर हैं जो अनुक्रम के भीतर कहीं भी निरंतर समय डालने और संचालन को मिटाने की अनुमति देते हैं। फॉरवर्ड लिस्ट को सिंगल-लिंक्ड लिस्ट के रूप में लागू किया जाता है। क्रम में अगले तत्व के लिंक के प्रत्येक तत्व के लिए एसोसिएशन द्वारा आदेश रखा जाता है।

forward_list::merge() क्या है?

फॉरवर्ड_लिस्ट ::मर्ज () सी ++ एसटीएल में एक इनबिल्ट फ़ंक्शन है जिसे हेडर फ़ाइल में घोषित किया गया है। मर्ज () का उपयोग दो सॉर्ट किए गए फॉरवर्ड_लिस्ट को एक में मर्ज करने के लिए किया जाता है।

दो सूचियों को मर्ज करने से पहले हमें यह सुनिश्चित करना चाहिए कि सूचियाँ क्रमबद्ध क्रम में हैं। यदि कोई तुलनित्र पास नहीं है तो यह दो सूचियों को एक क्रमबद्ध सूची में मिला देता है। जब हम भी दो सूचियों के बीच आंतरिक तुलना चाहते हैं तो हमें तुलनित्र जोड़ना होगा।

सिंटैक्स

flist_container1.merge(flist_container2); //will merge both lists
flist_container1.merge(flist_container2, comparator);

यह फ़ंक्शन एक या दो पैरामीटर स्वीकार कर सकता है -

पैरामीटर

  • list_container2 - यह दूसरी सूची का एक उद्देश्य है जिसे मर्ज किया जाना है

  • तुलनित्र - यह एक आंतरिक तुलना को परिभाषित करता है। यह एक द्विआधारी विधेय है जिसमें सूची कंटेनर में परिभाषित मूल्य के दो इनपुट होते हैं, यह सच हो जाता है यदि list_container1 तत्व को list_container2 से पहले जाना माना जाता है, अन्यथा यह गलत होगा।

रिटर्न वैल्यू

यह फ़ंक्शन कुछ भी नहीं देता है।

उदाहरण

/*नीचे दिए गए कोड में, हम दो आगे की सूचियां बना रहे हैं और दोनों को क्रमबद्ध किया गया है और कार्य C++ में मर्ज () फ़ंक्शन का उपयोग करके उन्हें मर्ज करना है जिसे सॉर्ट किया जाना चाहिए*/

#include <bits/stdc++.h>
using namespace std;
int main() {
   //creating forward list by inserting sorted values
   forward_list<int> myForwardList1 = { 1, 3, 5, 7 };
   forward_list<int> myForwardList2 = { 2, 4, 6 };
   // merging two sorted forward lists
   myForwardList1.merge(myForwardList2);
   cout << "elements after merging" << endl;
   for (auto i = myForwardList1.begin(); i != myForwardList1.end(); ++i)
      cout << *i << " ";
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा

elements after merging
1 2 3 4 5 6 7

तुलनित्र के साथ

उदाहरण

/*नीचे दिए गए कोड में, हम दो अग्रेषित सूचियां बना रहे हैं और दोनों क्रमबद्ध नहीं हैं और कार्य सूची को पहले सॉर्ट करना है और फिर सी ++ में मर्ज () फ़ंक्शन का उपयोग करके उन्हें मर्ज करना है और इसे सॉर्ट किया जाना चाहिए। */

#include <bits/stdc++.h>
using namespace std;
int main (){
   //create unsorted forward list
   forward_list<int> myForwardList1 = {3, 2, 9};
   forward_list<int> myForwardList2 = {8, 1, 2};
   //sorting the forward list using sort() function
   myForwardList1.sort();
   myForwardList2.sort();
   myForwardList1.merge(myForwardList2);
   cout << "Elements after merging" << endl;
   for (auto i = myForwardList1.begin(); i != myForwardList1.end(); ++i)
      cout << *i << " ";
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा

Elements after merging
1 2 2 3 8 9

  1. सी ++ एसटीएल में नक्शा max_size ()

    इस लेख में हम C++ STL में map::max_size() फंक्शन की कार्यप्रणाली, सिंटैक्स और उदाहरणों पर चर्चा करेंगे। C++ STL में मैप क्या है? मानचित्र सहयोगी कंटेनर हैं, जो एक विशिष्ट क्रम में कुंजी मान और मैप किए गए मान के संयोजन से बने तत्वों को संग्रहीत करने की सुविधा प्रदान करते हैं। मैप कंटेनर में डेटा को

  1. सी ++ एसटीएल (3) में बनाम unordered_set सेट करें

    इस लेख में, आइए समझते हैं कि C++ STL में क्या सेट और unordered_set है और इस तरह उनके बीच अंतर का ज्ञान प्राप्त करें। क्या सेट है? एक सेट एक सहयोगी कंटेनर है जिसमें कुंजी प्रकार की अनूठी वस्तुओं का एक क्रमबद्ध सेट होता है। प्रत्येक तत्व केवल एक बार हो सकता है, इसलिए डुप्लिकेट की अनुमति नहीं है। उपयो

  1. सी ++ एसटीएल में ढेर (3.5)

    C++ STL में, स्टैक का उपयोग कंटेनर के रूप में किया जाता है जिसे LIFO संरचना के रूप में कार्यान्वित किया जाता है। LIFO का मतलब लास्ट इन फर्स्ट आउट। स्टैक पुस्तकों के ढेर के रूप में देख सकता है जिसमें पुस्तकों को एक के ऊपर एक व्यवस्थित किया जाता है और अंतिम डाली गई पुस्तक सबसे पहले हटाई जाएगी, इसलिए इ