दिया गया कार्य 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