STLにSet_Intersectionを実装するC++プログラム
2つのセットの共通部分は、両方のセットに共通する要素によってのみ形成されます。関数によってコピーされる要素は、常に同じ順序で最初のセットから取得されます。両方のセットの要素はすでに注文されている必要があります。
一般的な集合演算は-
です- セットユニオン
- 交差点を設定
- 対称集合の差または排他的論理和
- 差または減算を設定
アルゴリズム
Begin Declare set vector v and iterator st. Initialize st = set_intersection (set1, set1 + n, set2, set2 +n, v.begin())) Print the intersection between two sets. End.
サンプルコード
#include <iostream> #include <algorithm> #include <vector> using namespace std; int main () { int set1[] = {5,6,7,8,9,10}; int set2[] = {1,2,3,4,6,7}; vector<int> v(10); vector<int>::iterator st; sort (set1, set1 + 6); sort (set2, set2 + 6); st = set_intersection (set1, set1 + 6, set2, set2 + 6, v.begin()); v.resize(st - v.begin()); cout << "The intersection between the two set has " << (v.size()) << " elements: "<<endl; for (st = v.begin(); st != v.end(); ++st) cout<< *st<<" "; cout <<endl; return 0; }
出力
The intersection between the two set has 2 elements: 6 7
-
STLにSet_Symmetric_differenceを実装するC++プログラム
これは、set_symmetric_differenceを実装するためのC++プログラムです。 2つのセットの対称差は、一方のセットには存在するが、もう一方のセットには存在しない要素によって構築されます。 一般的な集合演算は-です セットユニオン 交差点を設定 対称集合の差または排他的論理和 差または減算を設定 アルゴリズム Begin Declare set vector v and iterator st. Initialize st = set_symmetric_difference (set1, set1 + n, set2, se
-
STLにSet_Differenceを実装するC++プログラム
2つのセットの違いは、2番目のセットではなく、最初のセットに存在する要素によってのみ形成されます。関数によってコピーされる要素は、常に同じ順序で最初のセットから取得されます。両方のセットの要素はすでに注文されている必要があります。 一般的な集合演算は-です セットユニオン 交差点を設定 対称集合の差または排他的論理和 差または減算を設定 アルゴリズム Begin Declare set vector v and iterator st. Initialize st = set_difference (set1, set1 + n,