BohYoh.comトップページへ

Javaによるアルゴリズムとデータ構造

戻る  

演習7-3の解答

 クラスIntSet に対して、集合s の全要素を追加するメソッド、集合s に入っている要素のみを残して入っていない要素を削除するメソッド、集合s に入っている要素を削除するメソッドを追加せよ。
  boolean addAll (IntSet s )  // 集合s との和集合にする
  boolean retainAll (IntSet s )// 集合s との積集合にする
  boolean removeAll (IntSet s )  // 集合s との差集合にする
 メソッドの実行によって、集合が変更された場合はtrueを、そうでなければfalseを返すこと。

  // 集合sとの和集合にする   boolean addAll(IntSet s) {     boolean flag = false;     for (int i = 0; i < s.num; i++)       if (add(s.set[i]) == true)         flag = true;     return flag;   }   // 集合sとの積集合にする   boolean retainAll(IntSet s) {     boolean flag = false;     for (int i = 0; i < num; i++)       if (s.contains(set[i]) == false) {         remove(set[i]);         flag = true;       }     return flag;   }   // 集合sとの差集合にする   boolean removeAll(IntSet s) {     boolean flag = false;     for (int i = 0; i < num; i++)       if (s.contains(set[i]) == true) {         remove(set[i]);         flag = true;       }     return flag;   }


戻る