दिया गया कार्य C++ में forward_list::swap() फ़ंक्शन के कार्य को दिखाना है।
Forward List क्या है?
Forward list एक अनुक्रम कंटेनर है जो अनुक्रम में कहीं भी स्थिर समय में सम्मिलन और विलोपन की अनुमति देता है। Forward list को एकल-संलग्न सूचियों (singly-linked lists) के रूप में कार्यान्वित किया जाता है। क्रम को प्रत्येक तत्व के अगले तत्व से लिंक द्वारा बनाए रखा जाता है।
forward_list::swap() क्या है?
forward_list::swap() C++ स्टैंडर्ड लाइब्रेरी फ़ंक्शन है जिसका उपयोग एक सूची की सामग्री को समान आकार और समान डेटा प्रकार की दूसरी सूची के साथ स्वैप करने के लिए किया जाता है।
सिंटैक्स
forward_list1.swap(forward_list2)
या
swap(forward_list first, forward_list second)
उदाहरण
Output – First list : 57 99 54 34 84 Second list : 45 65 78 96 77 After swapping operation outputs are First list : 45 65 78 96 77 Second list : 57 99 54 34 84 Output – First list : 44 37 68 94 73 Second list : 20 11 87 29 40 After swapping operation outputs are First list : 20 11 87 29 40 Second list : 44 37 68 94 73
अनुसरण किया जा सकने वाला दृष्टिकोण
पहले दो forward list प्रारंभ करें।
फिर हम दोनों forward list प्रिंट करते हैं।
फिर हम swap() फ़ंक्शन को परिभाषित करते हैं।
फिर हम स्वैपिंग के बाद forward list प्रिंट करते हैं।
उपरोक्त दृष्टिकोण का उपयोग करके हम दो forward list को स्वैप कर सकते हैं।
एल्गोरिदम
शुरू -
STEP 1 – Intialize the two forward list and print them First list forward_list<int> List1 = { 10, 20, 30, 40, 50 } for( auto x = list1.start( ); x != list1.end( ); ++x ) cout<< *x << “ “ ; second list forward_list<in> list2 = { 40, 30, 20, 10, 50 } for( auto x = list2.start( ); x != list2.end( ); ++x ) cout<< *x << “ “ ; END STEP 2 – create the swap function to perform swap operation. swap( list1, list2) END Stopउदाहरण
// C++ code to demonstrate the working of forward_list::reverse( ) #include<iostream.h> #include<forward_list.h> Using namespace std; Int main( ){ // initializing two forward lists forward_list<int> list1 = { 10, 20, 30, 40, 50 } cout<< “ Elements of List1:”; for( auto x = list1.start( ); x != list1.end( ); ++x ) cout<< *x << “ “ ; forward_list<int> list2 = { 40, 30, 20, 10, 50 } cout<< “Elements of List2:”; for( auto x = list2.start( ); x != list2.end( ); ++x ) cout<< *x << “ “ ; // defining of function that performs the swap operation swap(list1, list2); cout<< “ After swapping List1 is :”; for(auto x = list1.start( ); x != list1.end( ); ++x) cout<< *x<< “ “; cout<< “ After swapping List2 is :”; for(auto x = list1.start( ); x!= list2.end( ); ++x) cout<< *x<< “ “; return 0; }आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा
OUTPUT – Elements of List1 : 10 20 30 40 50 Elements of list2 : 40 30 20 10 50 After Swapping List1 : 40 30 20 10 50 After Swapping List2 : 10 20 30 40 50 OUTPUT – Elements of List1 : 23 56 78 49 11 Elements of List2 : 11 49 78 56 23 After Swapping List1 : 11 49 78 56 23 After Swapping List1 : 23 56 78 49 11