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

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


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

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

List एक डेटा संरचना है जो अनुक्रम में कहीं भी स्थिर समय में सम्मिलन और विलोपन की अनुमति देती है। Lists को डबल लिंक्ड लिस्ट के रूप में लागू किया जाता है। Lists गैर-सन्निहित मेमोरी आवंटन की अनुमति देते हैं। किसी भी स्थिति में तत्वों के सम्मिलन, निष्कर्षण और स्थानांतरण के मामले में List, array, vector और deque से बेहतर प्रदर्शन करता है। List में तत्वों तक सीधी पहुंच धीमी होती है और यह forward_list के समान होता है, लेकिन forward list ऑब्जेक्ट्स सिंगल लिंक्ड लिस्ट होते हैं और उन्हें केवल आगे की ओर पुनरावृत्त किया जा सकता है।

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

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

सिंटैक्स

इस फ़ंक्शन के सिंटैक्स को 3 तरीकों से परिभाषित किया जा सकता है:
list1.splice(position, list2);
list1.splice(position, list2, i);
list1.splice(position, list2, first, last);

पैरामीटर्स

  • position − सूची की वह स्थिति जहां हम तत्वों को स्थानांतरित करना चाहते हैं।

  • list2 − वह सूची जिससे हम तत्वों को स्थानांतरित करना चाहते हैं।

  • i: यह एक इटरेटर है जो list2 की उस स्थिति को निर्दिष्ट करता है जहां से हम तत्व को list2 के अंत तक स्थानांतरित करना चाहते हैं।

  • first, last − ये दोनों इटरेटर्स हैं जो list2 की प्रारंभिक और अंतिम स्थितियों को परिभाषित करते हैं जहां से हम तत्वों को स्थानांतरित करना चाहते हैं।

उदाहरण

Input: list<int> List_container = { 10, 11, 13, 15}; list<int> List2 = {1, 2, 3, 4}; List_container.splice(2, List2); 
Output: List_container = 10 11 13 15 3 4; List2 = 1 2

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

यह फ़ंक्शन सूची के अंतिम तत्व की ओर इंगित करने वाला एक रिवर्स इटरेटर लौटाता है। रिवर्स इटरेटर एक इटरेटर है जो पीछे की दिशा में चलता है।

उदाहरण

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

int main() {
    list<int> myList_1 = { 10, 20, 30, 40 };
    list<int> myList_2 = { 50, 60 };
    list<int>::iterator i;
    i = myList_2.begin();
    myList_1.splice(myList_1.end(), myList_2, i);
    cout << "list after splice operation" << endl;
    for (auto temp : myList_1)
        cout << temp << " ";
    return 0;
}

आउटपुट

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

list after splice operation 10 20 30 40 50

उदाहरण

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

int main() {
    list<int> myList_1 = { 10, 20 };
    list<int> myList_2 = { 30, 40, 50 };
    list<int> myList_3 = {60};
    myList_1.splice(myList_1.begin(), myList_2);
    cout << "list 1 after splice operation" << endl;
    for (auto x : myList_1)
        cout << x << " ";
    myList_3.splice(myList_3.end(), myList_1);
    cout << "\nlist 3 after splice operation" << endl;
    for (auto x : myList_3)
        cout << x << " ";
    return 0;
}

आउटपुट

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

list 1 after splice operation 30 40 50 10 20 
list 3 after splice operation 60 30 40 50 10 20
  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