我不知道爲什麼我需要再次分配node.left = insert(node.left, data)
,因爲我已經使用node = new BNode(data)
分配了它。BST以Java遞歸實現
private BNode insert(BNode node, int data) {
if (node == null) {
node = new BNode(data);
}
else if (node.data < data) {
node.left = insert(node.left, data);
}
else if (node.data > data) {
node.right = insert(node.right, data);
}
return node;
}
我不知道粘貼我的代碼的格式。所以我把它粘貼在這裏。 – Jutta
私人B節點插入件(B節點節點,int數據) \t { \t \t如果(節點== NULL) \t \t { \t \t \t節點=新B節點(數據); \t \t} \t \t否則如果(node.data <數據) \t \t { \t \t \t node.left =插入(node.left,數據); \t \t} \t \t否則如果(node.data>數據) \t \t { \t \t \t node.right =插入(node.right,數據); \t \t} \t \t return node; \t \t \t} – Jutta
我真的很抱歉,但花了我一個小時來調整格式。 – Jutta