예제 #1
0
파일: Program.cs 프로젝트: Xsenus/SET
        static void Main(string[] args)
        {
            //// Реализация .NET
            //HashSet<int> set = new HashSet<int>();

            var easyset1 = new EasySet <int>(new int[] { 1, 2, 3, 4, 5 });
            var easyset2 = new EasySet <int>(new int[] { 4, 5, 6, 7, 8 });
            var easyset3 = new EasySet <int>(new int[] { 3, 4, 5 });

            Console.Write("Union: ");
            foreach (var item in easyset1.Union(easyset2))
            {
                Console.Write($"{item} ");
            }
            Console.WriteLine();


            Console.Write("Intersection: ");
            foreach (var item in easyset1.Intersection(easyset2))
            {
                Console.Write($"{item} ");
            }
            Console.WriteLine();

            Console.Write("Difference A \\ B: ");
            foreach (var item in easyset1.Difference(easyset2))
            {
                Console.Write($"{item} ");
            }
            Console.WriteLine();

            Console.Write("Difference B \\ A: ");
            foreach (var item in easyset2.Difference(easyset1))
            {
                Console.Write($"{item} ");
            }
            Console.WriteLine();

            Console.Write($"A Subset C: {easyset1.Subset(easyset3)}");

            Console.WriteLine();

            Console.Write($"C Subset A: {easyset3.Subset(easyset1)}");

            Console.WriteLine();

            Console.Write($"C Subset B: {easyset3.Subset(easyset2)}");

            Console.WriteLine();

            Console.Write("SymmetricDifference: ");
            foreach (var item in easyset1.SymmetricDifference(easyset2))
            {
                Console.Write($"{item} ");
            }
            Console.WriteLine();

            Console.ReadLine();
        }
예제 #2
0
        public void EasySetUnionTest()
        {
            var set  = new EasySet <int>(new int[] { 1, 2, 3, 4, 5 });
            var set2 = new EasySet <int>(new int[] { 4, 5, 6, 7, 8 });

            var result = set.Union(set2);

            Assert.AreEqual("1 2 3 4 5 6 7 8 ", result.ToString());
        }
예제 #3
0
        public void EasySetRemoveTest()
        {
            var set = new EasySet <int>(new int[] { 1, 2, 3, 4, 5 });

            set.Remove(2);
            set.Remove(4);

            Assert.AreEqual("1 3 5 ", set.ToString());
        }
예제 #4
0
        public void EasySetSubsetTest()
        {
            var set  = new EasySet <int>(new int[] { 1, 2, 3, 4, 5 });
            var set2 = new EasySet <int>(new int[] { 4, 5, 6, 7, 8 });
            var set3 = new EasySet <int>(new int[] { 1, 3, 2 });

            Assert.IsFalse(set.IsSubset(set3));
            Assert.IsFalse(set3.IsSubset(set2));
            Assert.IsTrue(set3.IsSubset(set));
        }
예제 #5
0
        public void EasySetSymmetricDifferenceTest()
        {
            var set  = new EasySet <int>(new int[] { 1, 2, 3, 4, 5 });
            var set2 = new EasySet <int>(new int[] { 4, 5, 6, 7, 8 });

            var result = set.SymmetricDifference(set2);

            Assert.AreEqual("1 2 3 6 7 8 ", result.ToString());
            Assert.AreEqual(6, result.Count);
        }
예제 #6
0
        public void EasySetAddTest()
        {
            var set = new EasySet <int>();

            set.Add(1);
            set.Add(2);

            Assert.AreEqual("1 2 ", set.ToString());

            set.Add(2);
            Assert.AreEqual("1 2 ", set.ToString());
        }
        static void Main(string[] args)
        {
            //HashSet<int> set = new HashSet<int>(); - готовая структура

            var easySet1 = new EasySet <int>(new int[] { 1, 2, 3, 4, 5 });
            var easySet2 = new EasySet <int>(new int[] { 4, 5, 6, 7, 8 });
            var easySet3 = new EasySet <int>(new int[] { 3, 4, 5 });

            Console.WriteLine("Union");
            foreach (var item in easySet1.Union(easySet2))
            {
                Console.WriteLine(item + " ");
            }
            Console.WriteLine();
            Console.WriteLine("Intersection");
            foreach (var item in easySet1.Intersection(easySet2))
            {
                Console.WriteLine(item + " ");
            }
            Console.WriteLine();
            Console.WriteLine("Differenct A \\ B");
            foreach (var item in easySet1.Difference(easySet2))
            {
                Console.WriteLine(item + " ");
            }
            Console.WriteLine();
            Console.WriteLine("Differenct B \\ a");
            foreach (var item in easySet2.Difference(easySet1))
            {
                Console.WriteLine(item + " ");
            }
            Console.WriteLine();
            Console.WriteLine("Subset A C");
            Console.WriteLine(easySet1.Subset(easySet3));

            Console.WriteLine();
            Console.WriteLine("Subset C A");
            Console.WriteLine(easySet3.Subset(easySet1));

            Console.WriteLine();
            Console.WriteLine("Subset C B");
            Console.WriteLine(easySet3.Subset(easySet2));

            Console.WriteLine();
            Console.WriteLine("SymmetricDifference");
            foreach (var item in easySet1.SymmetricDifference(easySet2))
            {
                Console.WriteLine(item + " ");
            }

            Console.ReadLine();
        }
예제 #8
0
        public void EasySetDifferenceTest()
        {
            var set  = new EasySet <int>(new int[] { 1, 2, 3, 4, 5 });
            var set2 = new EasySet <int>(new int[] { 4, 5, 6, 7, 8 });

            var result = set.Difference(set2);

            Assert.AreEqual("1 2 3 ", result.ToString());

            result = set2.Difference(set);

            Assert.AreEqual("6 7 8 ", result.ToString());
        }
예제 #9
0
        public void EasySetIntersectTest()
        {
            var set  = new EasySet <int>(new int[] { 1, 2, 3, 4, 5 });
            var set2 = new EasySet <int>(new int[] { 4, 5, 6, 7, 8 });

            var result = set.Intersect(set2);

            Assert.AreEqual(2, result.Count);
            Assert.AreEqual("4 5 ", result.ToString());

            result = set2.Intersect(set);
            Assert.AreEqual(2, result.Count);
            Assert.AreEqual("4 5 ", result.ToString());
        }
예제 #10
0
        static void Main(string[] args)
        {
            var easyset1 = new EasySet <int>(new int[] { 1, 2, 3, 4, 5 });
            var easyset2 = new EasySet <int>(new int[] { 4, 5, 6, 7, 8, 9 });
            var easyset3 = new EasySet <int>(new int[] { 3, 4, 5 });

            Console.WriteLine("Union:");
            foreach (var item in easyset1.Union(easyset2))
            {
                Console.Write(item + " ");
            }
            Console.WriteLine();
            Console.WriteLine("Intersection:");
            foreach (var item in easyset1.Intersection(easyset2))
            {
                Console.Write(item + " ");
            }
            Console.WriteLine();
            Console.WriteLine("Difference A - B:");
            foreach (var item in easyset1.Difference(easyset2))
            {
                Console.Write(item + " ");
            }
            Console.WriteLine();
            Console.WriteLine("Difference B - A:");
            foreach (var item in easyset2.Difference(easyset1))
            {
                Console.Write(item + " ");
            }
            Console.WriteLine();
            Console.WriteLine("Subset A - C: ");
            Console.Write(easyset1.Subset(easyset3));
            Console.WriteLine();
            Console.WriteLine("SymetricDifference A - B:");
            foreach (var item in easyset1.SymetricDifference(easyset2))
            {
                Console.Write(item + " ");
            }
            Console.ReadLine();
        }