the removeDifferent() method: setA.removeDifferent(setB) should remove from setA
ID: 3765790 • Letter: T
Question
the removeDifferent() method: setA.removeDifferent(setB) should remove from setA any values that are not also in setB (i.e. setA becomes the intersection of the two sets) - the parameter should be a const reference: Current non-working code:
void IntSet::removeDifferent (const IntSet &setB;) bool flagfalse; int holder; for(int i-e;i size-Array;i++) flag -false; for(int k-e; k setB. size-Array,k++) if (setB. dynamicArrayl k1--dynamicArray[1] ) flag -true; holder = setB . dynami CArray[k]; holdersetB.dynamicArray[k]j; if(flagfalse) remove(dynamicArray[i]); add (holder);Explanation / Answer
No need to add element in holder again. Because you are deleting existing node
void Inset::removeDifferent(const Inset &setB) {
bool flag = false;
int i, k;
for(i = 0; i < size_Array; i++) {
flag = false;
for(k = 0; k < setB.size_Array; k++) {
if(setB.dynamicArray[k] == dynamicArray[i]) {
flag = true;
}
}
if(flag == false)
remove(dynamicArray[i]);
}
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.