C++ 程式以在 STL 中實現 Set_Symmetric_difference


這是一個實現 set_symmetric_difference 的 c++ 程式。兩組的對稱差可以透過元素構建,這些元素出現在其中一組中,但不出現在另一組中。

常見的集合運算有 −

  • 集合並集
  • 集合交集
  • 對稱集合差或異或
  • 集合差或減法

演算法

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.

示例程式碼

#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;
}

輸出

The symmetric difference between the sets has 8 elements:
1 2 3 4 5 8 9 10

更新日期: 30-Jul-2019

253 次觀看

開啟您的 職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.