我的代碼是如何在節點樹中旋轉節點?
private Node rotateLeftChild(Node n)
{
Node o = n.left;
n.left = o.right;
o.right = n;
return o;
}
當我調用它在根旋轉的樹是這樣的:
7
/\
4 8
/\
1 5
它刪除4和1,使5/7左根。我試圖讓這個方法成爲一個無效的方法,但似乎也沒有效果。我會以完全錯誤的方式去做這件事嗎?
通過 「旋轉」,你的意思交換4''和'8'相對於'7'(即交換'left'和'right')? – 2012-11-30 05:43:29
您是否嘗試過調試?我會在* return o *處設置一個斷點來檢查。我認爲你的左旋轉代碼沒有問題,但問題可能在更高的地方(*可能是你試圖使用你的旋轉代碼*) – Sujay
這是一種支持方法,但現在它不是'當我只是單獨使用它時,我不會工作。 –