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

C++ STL में list::merge() फंक्शन


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

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

list::merge() C++ STL में एक इनबिल्ट फंक्शन है जो <list> हेडर फाइल में घोषित है। merge() का उपयोग दो लिस्ट्स को एक में मर्ज करने के लिए किया जाता है। हम केवल दो लिस्ट्स को मर्ज कर सकते हैं, या यदि हम अतिरिक्त तुलना चाहते हैं तो एक कम्पैरेटर भी जोड़ सकते हैं।

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

सिंटैक्स

list_container1.merge(list_container2);           // दोनों लिस्ट्स को list_container1 में मर्ज करेगा
list_container1.merge(list_container2, comparator); // कम्पैरेटर के साथ

पैरामीटर्स

  • list_container2 - दूसरी लिस्ट का ऑब्जेक्ट जिसे मर्ज करना है।
  • comparator - यह एक आंतरिक तुलना परिभाषित करता है। यह एक बाइनरी प्रेडिकेट है जिसमें लिस्ट कंटेनर में परिभाषित वैल्यू के समान दो इनपुट होते हैं; यह true लौटाता है यदि list_container1 का एलिमेंट list_container2 से पहले जाने योग्य माना जाता है, अन्यथा false।

रिटर्न मान

यह फंक्शन कुछ भी वापस नहीं करता।

उदाहरण 1: बिना कम्पैरेटर के (सॉर्टेड लिस्ट्स)

#include <bits/stdc++.h>
using namespace std;

int main() {
    list<int> myList_1 = {2, 4, 6, 8};
    list<int> myList_2 = {1, 3, 5, 7};
    
    myList_2.merge(myList_1);
    
    cout << "Lists after merging: ";
    for (auto i = myList_2.begin(); i != myList_2.end(); ++i)
        cout << *i << " ";
    return 0;
}

आउटपुट

Lists after merging: 1 2 3 4 5 6 7 8

उदाहरण 2: कम्पैरेटर के साथ

#include <bits/stdc++.h>
using namespace std;

bool compare(int a, int b) {
    return a < b;
}

int main() {
    list<int> myList_1 = {2, 4, 1};
    list<int> myList_2 = {7, 6, 5};
    
    myList_1.sort();
    myList_2.sort();
    
    myList_1.merge(myList_2);
    myList_2.push_back(3);
    myList_1.merge(myList_2, compare);
    
    cout << "List Elements are: ";
    for (auto i = myList_1.begin(); i != myList_1.end(); ++i)
        cout << ' ' << *i;
    return 0;
}

आउटपुट

List Elements are: 1 2 3 4 5 6 7
  1. C++ STL में List reverse फ़ंक्शन C++ STL में List reverse फ़ंक्शन

    STL में List क्या हैList एक डेटा संरचना है जो अनुक्रम में कहीं भी निरंतर समय सम्मिलन और विलोपन की अनुमति देती है। Lists को डबल लिंक्ड सूचियों के रूप में कार्यान्वित किया जाता है। Lists गैर-सन्निकट मेमोरी आवंटन की अनुमति देती हैं। List सरणी, वेक्टर और deque की तुलना में किसी भी स्थिति में तत्व के सम्

  1. - C++ STL में List assign() फ़ंक्शन

    C++ में assign() फ़ंक्शन के कार्य को दिखाने का कार्य दिया गया है।list::assign() फ़ंक्शन C++ मानक टेम्पलेट लाइब्रेरी का हिस्सा है। इसका उपयोग लिस्ट को मान असाइन करने और एक लिस्ट से दूसरी लिस्ट में मान कॉपी करने के लिए किया जाता है।<list> हेडर फ़ाइल को इस फ़ंक्शन को कॉल करने के लिए शामिल किया जा

  1. - C++ STL में list back() फ़ंक्शन

    C++ में list back() फ़ंक्शन के कार्य को दिखाने का कार्य दिया गया है।list::back() फ़ंक्शन C++ मानक टेम्पलेट लाइब्रेरी का हिस्सा है। इसका उपयोग किसी भी लिस्ट के अंतिम तत्व को प्रदर्शित करने के लिए किया जाता है।<list> हेडर फ़ाइल को इस फ़ंक्शन को कॉल करने से पहले शामिल किया जाना चाहिए।सिंटैक्सList