0
这是主要的文件:递归在这里如何工作?
public static void main(String[] args) {
BTFunction bt=new BTFunction();
bt.insert(5);
bt.insert(15);
bt.insert(10);
bt.insert(7);
}
这是类BTFunction:
public class BTFunction {
BTNode root=null;
void insert(int data){
root=BTinsertion(data,root);
}
BTNode BTinsertion(int data,BTNode n){
if(n==null){
n=new BTNode(data);
}
else{
if(n.right==null)
n.right=BTinsertion(data,n.right);
else
n.left=BTinsertion(data,n.left);
}
return n;
}
我明白的前3个插入(即根,左,右),但是当新值(即7)被插入,函数如何工作。 根据我插入(7)时执行,它应该只是搜索root.next和root.right现在都不是空。所以,它不应该做任何事情。
您能否解释递归过程,特别是在添加更多值时。