0
我正在寫一個二叉搜索樹的刪除方法,它不是完整的,但我填充了一棵樹,這樣我至少可以測試我想刪除的節點是葉的情況但它似乎並沒有工作。我的邏輯中有任何明顯的錯誤?Java二叉搜索樹刪除
public void delete(E d)
{
delete(d, root);
}
private void delete(E d, Node<E> T)
{
if(T == null)
{
return;
}
else if(d.equals(T.getData()))
{
System.out.println("it found the node at least");
if(T.getRight() == null && T.getLeft() == null)
{
T.setData(null);
}
//do alot)
}
else if(d.compareTo(T.getData()) > 0)
{
System.out.println("going right");
delete(d, T.getRight());
}
//s is less than T, insert on left subtree
else
{System.out.println("going left");
delete(d,T.getLeft());
}
}
究竟是什麼//做很多)? – NPE 2013-03-01 08:06:58
另外,將'data'設置爲'null'並不是我所說的刪除操作。 – NPE 2013-03-01 08:07:47
做了很多意味着代碼的其餘案件。以及如何刪除它? – alexthefourth 2013-03-01 08:08:56