示例#1
0
        /// <summary>
        /// Getting result of intersection of two multiplicity.
        /// </summary>
        /// <param name="First"></param>
        /// <param name="Second"></param>
        public void Intersection(Multiplicity <ElementType> First, Multiplicity <ElementType> Second)
        {
            this.head = null;

            if ((First.IsEmpty()) || (Second.IsEmpty()))
            {
                this.head = null;
                return;
            }

            MultiplicityElement tempFirst  = First.head;
            MultiplicityElement tempSecond = Second.head;

            while (tempFirst != null)
            {
                while (tempSecond != null)
                {
                    if (tempFirst.Value.Equals(tempSecond.Value))
                    {
                        this.Insert(tempFirst.Value);
                    }
                    tempSecond = tempSecond.Next;
                }
                tempFirst  = tempFirst.Next;
                tempSecond = Second.head;
            }
        }
示例#2
0
        static void Main(string[] args)
        {
            Multiplicity <int> Multiplicity1 = new Multiplicity <int>();

            Multiplicity1.Insert(1);
            Multiplicity1.Insert(2);
            Multiplicity1.Insert(3);

            Multiplicity <int> Multiplicity2 = new Multiplicity <int>();
            //Multiplicity2.Incert(1);
            //Multiplicity2.Incert(2);

            Multiplicity <int> Result = new Multiplicity <int>();

            //Result.Intersection(Multiplicity1, Multiplicity2);
            Result.Union(Multiplicity1, Multiplicity2);

            //Multiplicity.RemovingOfElement(2);
            //Multiplicity.RemovingOfElement(5);

            //bool exCh1 = Multiplicity.ExistenceChecking(5);

            //if (exCh1)
            //    System.Console.WriteLine("5 is here");
            //else
            //    System.Console.WriteLine("5 isn't here");


            System.Console.WriteLine("{0}", Result.Print());
        }