>백엔드 개발 >C#.Net 튜토리얼 >이진 검색 트리 삽입 알고리즘 C#

이진 검색 트리 삽입 알고리즘 C#

大家讲道理
大家讲道理원래의
2016-11-10 16:12:191456검색

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으로 문의하세요.