一个弱智的问题
我想用java写个二叉树 以下是其中一部分:
public class binaryTree {
class node{
int value;
node left;
node right;
}
node root=null;
//一下是函数
......
......
}
其中我想做插入,但是不好使,我经过调试 已经把不好使的原因定在一个点上了,一下是简单化的代码:
public void insertNode(node p, node n){
p=n;
}
public void insert(int num){
node newNode=new node();
newNode.value=num;
newNode.left=newNode.right=null;
insertNode(root,newNode);
}
以上的代码只是插入的部分,我做调试用的。
现在的问题是这样 目前只考虑 就加一个节点到root上,但为什么后来测试root总是空的。
也就是在 insert()里 root那个参数 传不到 insertNode()这里
如果我要是把 insertNode()里的 p换成root 那么 新节点就能插入到root了。但是 我传参数传的就是root啊, p就应该是root啊,为什么就不好使呢。
请大家帮助,谢谢!
------解决方案--------------------
这个问题就和下面的问题是一样的:
Java code
public class Test2
{
public static void fun(int num1, int num2)
{
num1 = num2;
}
public static void main(String[] args)
{
int num1 = 1;
int num2 = 2;
fun(num1, num2);
System.out.println(num1); //函数内部只是对形参进行了修改,对实参无影响,所以打印出来的num1还是1,不是2
}
}