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

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

Đây là một chương trình c ++ để áp đặt set_symmetric_difference. Sự khác biệt đối xứng của hai tập hợp được xây dựng bởi các phần tử có mặt trong một trong các tập hợp, nhưng không có trong tập hợp kia.

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_Symmetric_difference trong STL

Thuật toán

Begin
   Declare set vector v and iterator st.
  Initialize st = set_symmetric_difference (set1, set1 + n, set2, set2 +n, v.begin()))
   Print the elements obtained after symmetric_difference of two sets
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_symmetric_difference(set1, set1 + 6, set2, set2 + 6, v.begin());
   v.resize(st - v.begin());
   cout<<"The symmetric difference 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 symmetric difference between the sets has 8 elements:
1 2 3 4 5 8 9 10