首页  >  文章  >  后端开发  >  二叉搜索树插入算法C#

二叉搜索树插入算法C#

大家讲道理
大家讲道理原创
2016-11-10 16:12:191430浏览

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;
    }

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn