示例#1
0
        public void TestBstInsert()
        {
            var bst = new FemBinarySearchTree {
                Value = 10
            };

            bst.Insert(5);
            bst.Insert(15);
            bst.Insert(3);
            bst.Insert(12);
            bst.Insert(6);
            bst.Insert(13);
            Console.WriteLine(bst);
        }
示例#2
0
 public void Insert(int value)
 {
     if (Value.HasValue)
     {
         if (value < Value)
         {
             if (Left == null)
             {
                 Left = new FemBinarySearchTree {
                     Value = value
                 }
             }
             ;
             else
             {
                 Left.Insert(value);
             }
         }
         else if (value > Value)
         {
             if (Right == null)
             {
                 Right = new FemBinarySearchTree {
                     Value = value
                 }
             }
             ;
             else
             {
                 Right.Insert(value);
             }
         }
     }
     else
     {
         Value = value;
     }
 }
示例#3
0
        public void TestContains()
        {
            var bst = new FemBinarySearchTree {
                Value = 10
            };

            bst.Insert(5);
            bst.Insert(15);
            bst.Insert(3);
            bst.Insert(12);
            bst.Insert(6);
            bst.Insert(13);

            Assert.True(bst.Contains(5));
            Assert.True(bst.Contains(15));
            Assert.True(bst.Contains(3));
            Assert.True(bst.Contains(12));
            Assert.True(bst.Contains(6));
            Assert.True(bst.Contains(10));
            Assert.False(bst.Contains(1));
            Assert.False(bst.Contains(2));
            Assert.False(bst.Contains(55));
        }