Sự kết hợp của hai tập hợp được tạo bởi các phần tử có mặt trong một trong hai tập hợp hoặc trong cả hai tập hợp. Các phần tử từ tập hợp thứ hai có cùng phần tử trong tập hợp đầu tiên không được sao chép vào tập kết quả.
Các hoạt động tập hợp phổ biến là -
- Đặt Liên minh
- Đặt giao lộ
- Sự khác biệt của Tập hợp Đối xứng hoặc Độc quyền-HOẶC
- Đặt Chênh lệch hoặc Phép trừ
Thuật toán
Begin Declare set vector v and iterator st. Initialize st= set_union (set1, set1 + n, set2, set2 +n, v.begin())) Print the elements. End.
Mã mẫu
#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; }
Đầu ra
The union between the sets has 10 elements: 1 2 3 4 5 6 7 8 9 10