Exemplo n.º 1
0
        static void Main(string[] args)
        {
            CSet setA = new CSet();
            CSet setB = new CSet();

            setA.Add("milk");
            setA.Add("eggs");
            setA.Add("bacon");
            setA.Add("cereal");
            setB.Add("bacon");
            setB.Add("eggs");
            setB.Add("bread");
            CSet setC = new CSet();

            setC = setA.Union(setB);
            Console.WriteLine();
            Console.WriteLine($"A: {setA.ToString()}");
            Console.WriteLine($"B: {setB.ToString()}");
            Console.WriteLine($"A union B: {setC.ToString()}");
            setC = setA.Intersection(setB);
            Console.WriteLine($"A intersect B: {setC.ToString()}");
            setC = setA.Difference(setB);
            Console.WriteLine($"A difference B: {setC.ToString()}");
            setC = setB.Difference(setA);
            Console.WriteLine($"B difference A: {setC.ToString()}");
            if (setB.Subset(setA))
            {
                Console.WriteLine(" b is a subset of a");
            }
            else
            {
                Console.WriteLine(" b is not a subset of a");
            }
            Console.ReadLine();
        }
Exemplo n.º 2
0
        //差集
        public CSet Difference(CSet aSet)
        {
            CSet tempSet = new CSet();

            foreach (var item in data.Keys)
            {
                if (!aSet.data.Contains(item))
                {
                    tempSet.Add(data[item]);
                }
            }
            return(tempSet);
        }
Exemplo n.º 3
0
        //交集
        public CSet Intersection(CSet aSet)
        {
            CSet tempSet = new CSet();

            foreach (var item in data.Keys)
            {
                if (aSet.data.Contains(item))
                {
                    tempSet.Add(aSet.data[item]);
                }
            }
            return(tempSet);
        }
Exemplo n.º 4
0
        //并集
        public CSet Union(CSet aset)
        {
            CSet tempSet = new CSet();

            foreach (var item in data.Keys)
            {
                tempSet.Add(this.data[item]);
            }
            foreach (var item in aset.data.Keys)
            {
                if (!this.data.ContainsKey(item))
                {
                    tempSet.Add(aset.data[item]);
                }
            }
            return(tempSet);
        }
Exemplo n.º 5
0
 //子集
 public bool Subset(CSet aSet)
 {
     if (this.Size() > aSet.Size())
     {
         return(false);
     }
     else
     {
         foreach (var item in this.data.Keys)
         {
             if (!aSet.data.Contains(item))
             {
                 return(false);
             }
         }
     }
     return(true);
 }