Beispiel #1
0
        public void Add(T item)
        {
            BinFa <T> addFa = this;
            BinFa <T> newFa = new BinFa <T>(item);
            int       ii    = item.CompareTo(addFa.Root.Core);

            //other = addFa;

            Console.WriteLine(addFa.Root.Core);

            if (ii < 0)
            {
                if (addFa.Next(false) == null)
                {
                    newFa.Insert(false, item);
                    addFa.Add(item);
                }
                else
                {
                    addFa = addFa.Next(false);
                }
            }
            else if (ii > 0)
            {
                if (addFa.Next(true) == null)
                {
                    newFa.Insert(true, item);
                    addFa.Add(item);
                }
                else
                {
                    addFa = addFa.Next(false);
                }
            }
        }
Beispiel #2
0
        public void Print()
        {
            BinFa <T> printFa = this;
            BinFa <T> otherFa;

            if (printFa == null)
            {
                return;
            }

            Console.WriteLine(Root.Core);
            otherFa = printFa;
            if (printFa.Root.Left != null)
            {
                printFa = printFa.Next(false);
                printFa.Print();
            }
            printFa = otherFa;
            if (printFa.Root.Right != null)
            {
                printFa = printFa.Next(true);
                printFa.Print();
            }
        }