新・明解Javaで学ぶアルゴリズムとデータ構造
演習7-5の解答
クラスIntSet に対して、集合s1 と集合s2 の積集合をコピーするメソッド、集合s1 と集合s2 の差集合をコピーするメソッドを作成せよ。
void intersectionOf (IntSet s1 , IntSet s2 ) | // s1 とs2 の積集合をコピー
|
void differenceOf (IntSet s1 , IntSet s2 ) | // s1 とs2 の差集合をコピー
|
|
// 集合s1とs2の積集合をコピー
public void intersectionOf(IntSet s1, IntSet s2) {
clear();
for (int i = 0; i < s1.num; i++)
if (s2.contains(s1.set[i]))
add(s1.set[i]);
}
// 集合s1とs2の差集合をコピー
public void differenceOf(IntSet s1, IntSet s2) {
clear();
for (int i = 0; i < s1.num; i++)
if (!s2.contains(s1.set[i]))
add(s1.set[i]);
}
}