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現在都不是空。所以,它不應該做任何事情。
您能否解釋遞歸過程,特別是在添加更多值時。