Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        //запросы

        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);
        }
Example #4
0
        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);
        }