public BST()
 {
     root = null;
 }
 // overide  desc order
 public void Insert(double value, bool desc)
 {
     root = InsertNode(root, value, desc);
 }
 public BinaryNode(double value)
 {
     dataItem = value;
     left     = right = null;
 }
 public void Insert(double value)
 {
     root = InsertNode(root, value);
 }