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

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


दिया गया कार्य C++ STL में list::swap() फ़ंक्शन की कार्यक्षमता दिखाना है।

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

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

swap() क्या है?

यह फ़ंक्शन एक सूची के तत्वों को दूसरी सूची के साथ स्वैप करने के लिए उपयोग किया जाता है और दोनों का डेटा प्रकार और आकार समान होता है।

सिंटैक्स: listname1.swap(listname2)

उदाहरण

Input List1: 50 60 80 90 
List2: 90 80 70 60 
Output After swapping operation 
List1: 90 80 70 60 
List2: 50 60 80 90 
Input List1: 45 46 47 48 49 
List2: 50 51 52 53 54 
Output After swapping Operation 
List1: 50 51 52 53 54 
List2: 45 46 47 48 49

अनुसरण किया जा सकने वाला दृष्टिकोण

  • पहले हम दो सूचियों को प्रारंभ करते हैं।

  • फिर हम दोनों सूचियों को प्रिंट करते हैं।

  • फिर हम swap() फ़ंक्शन परिभाषित करते हैं।

  • अंत में हम स्वैपिंग ऑपरेशन के बाद दोनों सूचियों को प्रिंट करते हैं।

उपरोक्त दृष्टिकोण का उपयोग करके हम दो सूचियों को स्वैप कर सकते हैं।

उदाहरण

// C++ कोड जो STL में list swap() फ़ंक्शन के कार्य को प्रदर्शित करता है
#include <iostream>
#include <list>
using namespace std;

int main() {
    // दो सूचियों को प्रारंभ करना
    list<int> list1 = { 10, 20, 30, 40, 50 };
    cout << " List1: ";
    for(auto x = list1.begin(); x != list1.end(); ++x)
        cout << *x << " ";
    list<int> list2 = { 40, 50, 60, 70, 80 };
    cout << " List2: ";
    for(auto x = list2.begin(); x != list2.end(); ++x)
        cout << *x << " ";
    // swap() फ़ंक्शन परिभाषित करना
    list1.swap(list2);
    cout << " After swapping List1 is :";
    for(auto x = list1.begin(); x != list1.end(); ++x)
        cout << *x << " ";
    cout << " After swapping List2 is :";
    for(auto x = list2.begin(); x != list2.end(); ++x)
        cout << *x << " ";
    return 0;
}

आउटपुट

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

Input - List1: 10 20 30 40 50 
List2: 40 50 60 70 80 
Output - After swapping List1 is: 40 50 60 70 80 
After swapping List2 is: 10 20 30 40 50

उदाहरण

// C++ कोड जो STL में list swap() फ़ंक्शन के कार्य को प्रदर्शित करता है
#include <iostream>
#include <list>
using namespace std;

int main() {
    // दो सूचियों को प्रारंभ करना
    list<int> list1 = { 11, 12, 13, 14, 15 };
    cout << " List1: ";
    for(auto x = list1.begin(); x != list1.end(); ++x)
        cout << *x << " ";
    list<int> list2 = { 16, 17, 18, 19, 20 };
    cout << " List2: ";
    for(auto x = list2.begin(); x != list2.end(); ++x)
        cout << *x << " ";
    // swap() फ़ंक्शन परिभाषित करना
    list1.swap(list2);
    cout << " After swapping List1 is :";
    for(auto x = list1.begin(); x != list1.end(); ++x)
        cout << *x << " ";
    cout << " After swapping List2 is :";
    for(auto x = list2.begin(); x != list2.end(); ++x)
        cout << *x << " ";
    return 0;
}

आउटपुट

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

Input - List1: 11 12 13 14 15 
List2: 16 17 18 19 20 
Output - After swapping List1 is: 16 17 18 19 20 
After swapping List2 is: 11 12 13 14 15
  1. C++ STL में List reverse फ़ंक्शन C++ STL में List reverse फ़ंक्शन

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

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

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

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

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