Computer >> Máy Tính >  >> Lập trình >> C ++

Chương trình C ++ để triển khai Set_Union trong STL

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ừ

Chương trình C ++ để triển khai Set_Union trong STL

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