public
class
BinaryTreeNode
{
public
BinaryTreeNode Left {
get
;
set
; }
public
BinaryTreeNode Right {
get
;
set
; }
public
int
Data {
get
;
set
; }
public
BinaryTreeNode(
int
data)
{
this
.Data = data;
}
}
public
void
InsertIntoBST(BinaryTreeNode root,
int
data)
{
BinaryTreeNode _newNode =
new
BinaryTreeNode(data);
BinaryTreeNode _current = root;
BinaryTreeNode _previous = _current;
while
(_current !=
null
)
{
if
(data < _current.Data)
{
_previous = _current;
_current = _current.Left;
}
else
if
(data > _current.Data)
{
_previous = _current;
_current = _current.Right;
}
}
if
(data < _previous.Data)
_previous.Left = _newNode;
else
_previous.Right = _newNode;
}