示例#1
0
 public void Search(T data)
 {
     if (start.data.CompareTo(data) == 0)
     {
         Console.WriteLine("Found");
         return;
     }
     if (start.data.CompareTo(data) < 0)
     {
         start = start.Rightside;
         Search(data);
     }
     else
     {
         start = start.leftside;
         Search(data);
     }
 }
示例#2
0
 public void Display(MyBinaryNode <T> start)
 {
     Console.WriteLine("Start : {0}", start.data);
     if (start.leftside != null)
     {
         Console.WriteLine("Left :" + start.leftside.data);
     }
     if (start.Rightside != null)
     {
         Console.WriteLine("Right :" + start.Rightside.data);
     }
     if (start.leftside != null)
     {
         Display(start.leftside);
     }
     if (start.Rightside != null)
     {
         Display(start.Rightside);
     }
 }
示例#3
0
 public void Add(T data)
 {
     if (value == null)
     {
         value = new MyBinaryNode <T>(data);
     }
     else
     {
         var node = new MyBinaryNode <T>(data);
         var temp = start;
         if (data.CompareTo(value.data) < 0)
         {
             if (temp.leftside == null)
             {
                 temp.leftside = node;
             }
             else
             {
                 start = temp.leftside;
                 Add(data);
             }
         }
         else
         {
             if (temp.Rightside == null)
             {
                 temp.Rightside = node;
             }
             else
             {
                 start = temp.Rightside;
                 Add(data);
             }
         }
     }
     start = value;
 }
示例#4
0
 public MyBinaryNode(T data)
 {
     this.data = data;
     leftside  = null;
     Rightside = null;
 }
示例#5
0
 public BinarySearchTreeAdd()
 {
     value = null;
     start = null;
 }