Exemplo n.º 1
0
        public void insert_value(valType val)
        { // добавить значение в дерево
            if (val.Equals(_val))
            {
                _cnt++; return;
            }

            if (val.CompareTo(_val) < 0)
            {
                if (_lchaild == null)
                {
                    _lchaild = new BTnode <valType>(val);
                }
                else
                {
                    _lchaild.insert_value(val);
                }
            }
            else
            {
                if (_rchaild == null)
                {
                    _rchaild = new BTnode <valType>(val);
                }
                else
                {
                    _rchaild.insert_value(val);
                }
            }
        } // insert_value
Exemplo n.º 2
0
        public BTnode <valType> _rchaild; // ссылка на правый потомок

        public BTnode(valType val)
        {
            // конструктор добавляет "лист"
            _val     = val;
            _cnt     = 1;
            _lchaild = _rchaild = null;
        }
Exemplo n.º 3
0
        }                                       // конструктор

        public void insert(elemType elem)
        { // добавить значение или узел
            if (_root == null)
            {
                _root = new BTnode <elemType>(elem);
            }
            else
            {
                _root.insert_value(elem);
            }
        }
Exemplo n.º 4
0
 void preorder(BTnode <elemType> pt)
 {
     if (pt != null)
     {
         Console.Write(pt._val + " ");
         if (pt._lchaild != null)
         {
             preorder(pt._lchaild);
         }
         if (pt._rchaild != null)
         {
             preorder(pt._rchaild);
         }
     }
 }
Exemplo n.º 5
0
        BTnode <elemType> _root; // корень дерева

        public BinaryTree()
        {
            _root = null;
        }                                       // конструктор