Maison  >  Article  >  développement back-end  >  二叉搜索树插入算法C#

二叉搜索树插入算法C#

大家讲道理
大家讲道理original
2016-11-10 16:12:191431parcourir

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

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn