두 집합의 합집합은 집합 중 하나 또는 둘 다에 있는 요소에 의해 생성됩니다. 첫 번째 집합에 동일한 요소가 있는 두 번째 집합의 요소는 결과 집합에 복사되지 않습니다.
일반적인 집합 연산은 -
- 합집합
- 교차로 설정
- 대칭 집합 차이 또는 배타적 논리합
- 차이 또는 빼기 설정
알고리즘
Begin Declare set vector v and iterator st. Initialize st= set_union (set1, set1 + n, set2, set2 +n, v.begin())) Print the elements. 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_union(set1, set1 + 6, set2, set2 + 6, v.begin()); v.resize(st - v.begin()); cout<<"The union between the sets has "<< (v.size())<< " elements: "<<endl; for (st = v.begin(); st != v.end(); ++st) cout<< *st<<" "; cout <<endl; return 0; }
출력
The union between the sets has 10 elements: 1 2 3 4 5 6 7 8 9 10