我的RedBlackTree中的插入功能有问题。 由于某种原因,它不会停止(堆栈溢出)。 我试过调试程序超过2个小时,我还没有找到问题的解决方案。 谢谢你的帮助:)
public void Insert(RedBlackNode z,RedBlackTree tree)
{
RedBlackNode x = tree.head;
RedBlackNode y = tree.nullNode;
while (x != tree.nullNode && x!=null)
{
y = x;
if(z.bankNum < x.bankNum)
x = x.left;
else
x = x.right;
}
z.father = y;
if(y == tree.nullNode){
tree.head = z;
}
else {
if(z.bankNum <y.bankNum)
y.left = z;
else
y.right = z;
}
z.left = tree.nullNode;
z.right = tree.nullNode;
z.color = this.RED;
tree.InsertFixup(z);
}