public PowerSet <T> union(PowerSet <T> set) //возвращает объединение множеств { PowerSet <T> result = new PowerSet <T>(); for (int i = 0; i < length; i++) { result.add(space[i]); if (!is_member(set.space[i])) { result.add(set.space[i]); } } return(result); }
public PowerSet <T> difference(PowerSet <T> set) //возвращает разницу множеств { PowerSet <T> result = new PowerSet <T>(); for (int i = 0; i < length; i++) { if (space[i] != null) { if (!set.is_member(space[i])) { result.add(space[i]); } } } return(result); }
//запросы public PowerSet <T> intersection(PowerSet <T> set) //возвращает пересечение множеств { PowerSet <T> result = new PowerSet <T>(); for (int i = 0; i < length; i++) { if (space[i] != null) { if (set.is_member(space[i])) { result.add(space[i]); } } } return(result); }
public bool is_subset(PowerSet <T> set) //true, если set является подмножеством текущего { int length_full = 0; int count = 0; for (int i = 0; i < length; i++) { if (space[i] != null) { length_full++; if (set.is_member(space[i])) { count++; } } } if (length_full == count) { return(true); } return(false); }