예제 #1
0
        public DTreeNode FindNeedNode(int key, DTreeNode root)
        {
            DTreeNode p = null;

            if (root != null)
            {
                if (root.Key < key)
                {
                    p = FindNeedNode(key, root.Right);
                }
                else if (root.Key > key)
                {
                    p = FindNeedNode(key, root.Left);
                }
                else
                {
                    p = root;
                }
            }
            return(p);
        }
예제 #2
0
 public DTreeNode Add(int key, DTreeNode root)
 {
     if (root == null)
     {
         Console.WriteLine("Введите информационное поле");
         char info = char.Parse(Console.ReadLine());
         root = new DTreeNode(info, key);
     }
     else
     {
         if (root.Key > key)
         {
             root.Left = Add(key, root.Left);
         }
         else if (root.Key < key)
         {
             root.Right = Add(key, root.Right);
         }
     }
     return(root);
 }
예제 #3
0
 public DichotomyTree(int key, char info)  // создание пустого дерева
 {
     Root = new DTreeNode(info, key, null, null);
 }
예제 #4
0
 public DichotomyTree()  // создание пустого дерева
 {
     Root = null;
 }
예제 #5
0
 public DTreeNode(char info, int key, DTreeNode left, DTreeNode right) : this(info, key)
 {
     Left  = left;
     Right = right;
 }