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

C ++ STLのリストswap()


STLのC++で機能リストswap()関数を表示するタスクが与えられています。

STLのリストとは何ですか?

リストは、任意の場所で一定時間の挿入と削除を順番に実行できるコンテナーです。 Listは、二重にリンクされたリストとして実装されます。リストは、非連続的なメモリ割り当てを許可します。 Listは、配列、ベクトル、および両端キューよりも、コンテナー内の任意の位置で要素の挿入抽出と移動をより適切に実行します。 Listでは、要素への直接アクセスは遅く、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

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

  • まず、2つのリストを初期化します。

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

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

  • 最後に、スワッピング操作後に2つのリストを出力します。

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

// C++ code to demonstrate the working of list swap( ) function in STL
#include<iostream.h>
#include<list.h>
Using namespace std;
int main ( ){
   // initializing two lists
   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 << “ “;
   // defining swap( ) function
   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 = list1.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++ code to demonstrate the working of list swap( ) function in STL
#include<iostream.h>
#include<list.h>
Using namespace std;
int main ( ){
   // initializing two lists
   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 << “ “;
   // defining swap( ) function
   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 = list1.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のリスト逆関数

    この記事では、C++でのlist::reverse()関数の動作、構文、および例について説明します。 STLのリストとは リストは、任意の場所で一定時間の挿入と削除を順番に実行できるデータ構造です。リストは、二重にリンクされたリストとして実装されます。リストを使用すると、連続しないメモリ割り当てが可能になります。リストは、配列、ベクトル、および両端キューよりも、コンテナー内の任意の位置で要素の挿入抽出と移動を実行します。リストでは、要素への直接アクセスは遅く、リストはforward_listに似ていますが、フォワードリストオブジェクトは単一のリンクリストであり、フォワードでのみ繰り返すことが

  2. C ++ STLのassign()関数を一覧表示します

    C ++でのassign()関数の動作を示すタスクが与えられています。 list ::assign()関数は、C++標準テンプレートライブラリの一部です。これは、値をリストに割り当てたり、あるリストから別のリストに値をコピーしたりするために使用されます。 この関数を呼び出すには、ヘッダーファイルをインクルードする必要があります。 構文 新しい値を割り当てるための構文は次のとおりです- List_Name.assign(size,value) 構文 あるリストから別のリストに値をコピーするための構文は次のとおりです- First_List.assign(Second_List.begin