gpt4 book ai didi

c# - 如何迭代地在二叉搜索树中添加元素?

转载 作者:太空宇宙 更新时间:2023-11-03 17:33:58 25 4
gpt4 key购买 nike

   public void Insert(int value)
{
if (value < Data)
{
if (LeftNode == null)
{
LeftNode = new TreeNode(value);
}
else
{
LeftNode.Insert(value);
}
}
else if (value > Data)
{
if (RightNode == null)
{
RightNode = new TreeNode(value);
}
else
{
RightNode.Insert(value);
}
}
}

我写了递归地在 BST 中添加元素的方法,它检查添加小于或大于的值并将其添加到适当的位置,但我想知道迭代方法是如何工作的?我的 BST 需要迭代添加方法。

最佳答案

好的,这是您的算法的迭代版本:

public void Insert(int value)
{
TreeNode current = this;
while (current != null)
{
if(current.Data < value)
if(current.LeftNode == null)
{ current.LeftNode = new TreeNode(value); break; }
else current = current.LeftNode;
else
if(current.RightNode == null)
{ current.RightNode = new TreeNode(value); break; }
else current = current.RightNode;
}
}

关于c# - 如何迭代地在二叉搜索树中添加元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8383976/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com