สมมติว่าเรามีสองอาร์เรย์ A และ B มีองค์ประกอบไม่กี่อย่าง เราต้องหาองค์ประกอบเหล่านั้นที่มีอยู่ในชุด A แต่ไม่ใช่ในชุด B หากเราคิดว่าสถานการณ์นั้นและพิจารณา A และ B เป็นชุด นี่ก็เป็นชุดการดำเนินการหารโดยพื้นฐาน ค่าความแตกต่างระหว่าง A และ B จะคืนค่าองค์ประกอบเหล่านั้น
ตัวอย่าง
#include<iostream> #include<set> #include<algorithm> #include<vector> using namespace std; void setDiffResults(int A[], int B[], int An, int Bn) { sort(A, A + An); sort(B, B + Bn); vector<int> res(An); vector<int>::iterator it; vector<int>::iterator it_res = set_difference(A, A + An, B , B + Bn, res.begin()); cout << "Elements are: "; for(it = res.begin(); it < it_res; ++it){ cout << *it << " "; } } int main() { int A[] = {9, 4, 5, 3, 1, 7, 6}; int B[] = {9, 3, 5}; int An = 7, Bn = 3; setDiffResults(A, B, An, Bn); }
ผลลัพธ์
Elements are: 1 4 6 7