C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++STLのforward_list::swap()


C++でのforward_list::swap()関数の動作を示すタスクが与えられています。

転送リストとは何ですか?

転送リストは、シーケンス内の任意の場所で一定時間の挿入および消去操作を可能にするシーケンスコンテナです。フォワードリストは、単一リンクリストとして実装されます。順序は、シーケンス内の次の要素へのリンクの各要素への関連付けによって維持されます。

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

アプローチに従うことができます

  • 最初に2つの転送リストを初期化します。

  • 次に、2つの転送リストを印刷します。

  • 次に、swap()関数を定義します。

  • 次に、交換後に転送リストを印刷します。

上記のアプローチを使用することで、2つのフォワードリストを入れ替えることができます。

アルゴリズム

開始-

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

  1. C ++STLの転送リスト::cend()

    C++でのforward_list::cend関数の動作を示すタスクが与えられています。 forward_listは、次の要素および前の要素とのリンクを維持する通常のリストとは異なり、次の要素とのリンクのみを維持します。これにより、両方向の反復が可能になります。ただし、forward_listは順方向にのみ反復できます。 forward_list ::cend()関数は、C++標準テンプレートライブラリの一部です。リストの最後の要素を取得するために使用されます。 この関数を呼び出すには、ヘッダーファイルをインクルードする必要があります。 構文 Forward_List_Name.cend

  2. C ++STLのforward_listcbegin()

    C++でのforward_list::cbegin()関数の動作を示すタスクが与えられています。 forward_listは、次の要素および前の要素とのリンクを維持する通常のリストとは異なり、次の要素とのリンクのみを維持します。これにより、両方向の反復が可能になります。ただし、forward_listは順方向にのみ反復できます。 forward_list ::cbegin()関数は、C++標準テンプレートライブラリの一部です。リストの最初の要素を取得するために使用されます。 関数を呼び出すには、ヘッダーファイルをインクルードする必要があります。 構文 Forward_List_Name.