C++STLでoperator=を設定します
関数operator=は、セットで1つのセットをコピーする(またはC ++ STLで別のセットに移動する)ために使用されます。これは、セットの通常の「=」代入操作として動作します。この関数にはオーバーロードされた形式があります-
-
コピー:-set&operator =(const set&s1) −
この関数は、セットs1のすべての要素を別のセットにコピーします。渡されたパラメータは同じタイプのセットです。
-
使用法-sets1=s2;
-
移動:-set&operator =(set &&s1) −
これにより、セットs1の要素が呼び出し元のセットに移動します。
-
初期化子リスト:-set&operator =(initializer_list
ilist) −このバージョンは、初期化子リストilistの値を呼び出し元のセットにコピーします。
使用法-set
s1 ={1,2,3,4,5};
注-それらはすべて、set
次のプログラムは、C++プログラムでのラウンド関数の使用法を示すために使用されます-
例
#include <iostream> #include <set> using namespace std; // merge function int main(){ set<int> set1, set2; // List initialization set1 = { 1, 2, 3, 4, 5 }; set2 = { 10,11,12,13 }; // before copy cout<<"set1 :"; for (auto s = set1.begin(); s != set1.end(); ++s) { cout << *s << " "; } cout << endl; cout<<"set2 :"; for (auto s = set2.begin(); s != set2.end(); ++s) { cout << *s << " "; } //after copy set1 to set2 cout<<endl<<"After Copy"<<endl; cout<<"set1 :"; set1=set2; for (auto s = set1.begin(); s != set1.end(); ++s) { cout << *s << " "; } return 0; }
出力
set1 :1 2 3 4 5 set2 :10 11 12 13 After Copy set1 :10 11 12 13
-
STLにSet_Intersectionを実装するC++プログラム
2つのセットの共通部分は、両方のセットに共通する要素によってのみ形成されます。関数によってコピーされる要素は、常に同じ順序で最初のセットから取得されます。両方のセットの要素はすでに注文されている必要があります。 一般的な集合演算は-です セットユニオン 交差点を設定 対称集合の差または排他的論理和 差または減算を設定 アルゴリズム Begin Declare set vector v and iterator st. Initialize st = set_intersection (set1, set1 + n, set2, s
-
STLにSet_Differenceを実装するC++プログラム
2つのセットの違いは、2番目のセットではなく、最初のセットに存在する要素によってのみ形成されます。関数によってコピーされる要素は、常に同じ順序で最初のセットから取得されます。両方のセットの要素はすでに注文されている必要があります。 一般的な集合演算は-です セットユニオン 交差点を設定 対称集合の差または排他的論理和 差または減算を設定 アルゴリズム Begin Declare set vector v and iterator st. Initialize st = set_difference (set1, set1 + n,