C++ 程式實現STL中的 Set_Difference
兩個集合的差集僅由存在於第一個集合中而不在第二個集合中的元素組成。該函式複製的元素始終按照相同順序來自第一個集合。兩個集合中的元素應已排序。
常見的集合運算有 −
- 集合並集
- 集合交集
- 對稱集差集或異或集
- 集合差集或減法

演算法
Begin Declare set vector v and iterator st. Initialize st = set_difference (set1, set1 + n, set2, set2 +n, v.begin())) Print the number of elements different between 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 it;
sort (set1, set1 + 6);
sort (set2, set2 + 6);
it = set_difference(set1, set1 + 6, set2, set2 + 6, v.begin());
v.resize(it - v.begin());
cout << "The difference between the sets has " << (v.size()) << " elements: "<<endl;
for (it = v.begin(); it != v.end(); ++it)
cout<< *it<<" ";
cout <<endl;
return 0;
}輸出
The difference between the sets has 4 elements 5,8,9,10
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP