Computer >> Máy Tính >  >> Lập trình >> C ++

forward_list ::swap () trong C ++ STL

Given là nhiệm vụ để hiển thị hoạt động của hàm forward_list ::swap () trong C ++.

Danh sách chuyển tiếp là gì?

Danh sách chuyển tiếp là một vùng chứa trình tự cho phép các thao tác chèn và xóa theo thời gian liên tục ở bất kỳ đâu trong chuỗi. Danh sách chuyển tiếp được triển khai dưới dạng danh sách được liên kết đơn lẻ. Thứ tự được giữ bởi liên kết đến từng phần tử của liên kết với phần tử tiếp theo trong chuỗi.

forward_list ::swap () là gì?

forward_list ::swap () là một hàm trong thư viện chuẩn c ++ hàm được sử dụng để hoán đổi nội dung của một danh sách này sang một danh sách khác có cùng kích thước và cùng kiểu dữ liệu.

Cú pháp

forward_list1.swap(forward_list2)

Hoặc

swap(forward_list first, forward_list second)

Ví dụ

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

Có thể tuân theo phương pháp tiếp cận

  • Đầu tiên hãy khởi tạo hai danh sách chuyển tiếp.

  • Sau đó, chúng tôi in hai danh sách chuyển tiếp.

  • Sau đó, chúng tôi định nghĩa hàm swap ().

  • Sau đó, chúng tôi in danh sách chuyển tiếp sau khi hoán đổi.

Bằng cách sử dụng phương pháp trên, chúng ta có thể hoán đổi hai danh sách chuyển tiếp.

Thuật toán

Bắt đầu -

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

Ví dụ

// 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;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên thì nó sẽ tạo ra kết quả sau

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