⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 abstractset.cs

📁 Data Structures and Algorithms with Object-Oriented Design Patterns in C# 这本书的范例代码dll自己反编译的source
💻 CS
字号:
namespace Opus6
{
    using System;

    [Version("$Id: AbstractSet.cs,v 1.5 2001/10/28 19:50:09 brpreiss Exp $"), Copyright("Copyright (c) 2001 by Bruno R. Preiss, P.Eng.")]
    public abstract class AbstractSet : AbstractSearchableContainer
    {
        public AbstractSet(int universeSize)
        {
            this.universeSize = universeSize;
        }

        public override ComparableObject Find(ComparableObject obj)
        {
            throw new InvalidOperationException();
        }

        public override void Insert(ComparableObject obj)
        {
            this.Insert((int) obj);
        }

        public abstract void Insert(int i);
        public override bool IsMember(ComparableObject obj)
        {
            return this.IsMember((int) obj);
        }

        public abstract bool IsMember(int i);
        public static void TestMultiset(Multiset s1, Multiset s2, Multiset s3)
        {
            for (int num1 = 0; num1 < 4; num1++)
            {
                s1.Insert((ComparableObject) num1);
            }
            for (int num2 = 2; num2 < 6; num2++)
            {
                s2.Insert((ComparableObject) num2);
            }
            for (int num3 = 0; num3 < 4; num3 += 2)
            {
                s3.Insert((ComparableObject) num3);
            }
            Opus6.Console.WriteLine(s1);
            Opus6.Console.WriteLine(s2);
            Opus6.Console.WriteLine(s3);
            Opus6.Console.WriteLine(s1.Union(s2));
            Opus6.Console.WriteLine(s1.Intersection(s3));
            Opus6.Console.WriteLine(s1.Difference(s3));
            Opus6.Console.WriteLine("Using enumeration: ");
            foreach (int num4 in s3)
            {
                Opus6.Console.Write("{0} ", num4);
            }
            Opus6.Console.WriteLine();
        }

        public static void TestSet(Set s1, Set s2, Set s3)
        {
            for (int num1 = 0; num1 < 4; num1++)
            {
                s1.Insert((ComparableObject) num1);
            }
            for (int num2 = 2; num2 < 6; num2++)
            {
                s2.Insert((ComparableObject) num2);
            }
            for (int num3 = 0; num3 < 4; num3 += 2)
            {
                s3.Insert((ComparableObject) num3);
            }
            Opus6.Console.WriteLine(s1);
            Opus6.Console.WriteLine(s2);
            Opus6.Console.WriteLine(s3);
            Opus6.Console.WriteLine(s1.Union(s2));
            Opus6.Console.WriteLine(s1.Intersection(s3));
            Opus6.Console.WriteLine(s1.Difference(s3));
            Opus6.Console.WriteLine("Using enumeration: ");
            foreach (int num4 in s3)
            {
                Opus6.Console.Write("{0} ", num4);
            }
            Opus6.Console.WriteLine();
        }

        public override void Withdraw(ComparableObject obj)
        {
            this.Withdraw((int) obj);
        }

        public abstract void Withdraw(int i);

        public virtual int UniverseSize
        {
            get
            {
                return this.universeSize;
            }
        }


        protected int universeSize;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -