Rumah >pembangunan bahagian belakang >Tutorial C#.Net >二叉搜索树插入算法C#

二叉搜索树插入算法C#

大家讲道理
大家讲道理asal
2016-11-10 16:12:191454semak imbas

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

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn