IntegerSet IntegerSet::set_difference(const IntegerSet& o){ IntegerSet out; // for(int i = 0; i < o.num_elements; i++){ // if(!contains(o.elements[i])){ // out.add(o.elements[i]); // } // } for(int i = 0; i < num_elements; i++){ if(!o.contains(elements[i])){ out.add(elements[i]); } } return out; }
int main(){ IntegerSet s1,s2; s1.add(1); s1.add(5); s1.add(10); s1.add(15); s1.add(100); s2.add(2); s2.add(5); s2.add(15); s2.add(50); s2.add(90); IntegerSet q; q = s1.set_union(s2); cout << q.contains(1) << q.contains(2) << q.contains(5) << q.contains(15) << q.contains(50) << q.contains(100) << q.contains(200) << endl; q = s1.set_difference(s2); cout << q.contains(1) << q.contains(2) << q.contains(5) << q.contains(15) << q.contains(50) << q.contains(100) << q.contains(200) << endl; }