解决方案 »

  1.   

    t = new tree();
                    t.data = temp;
    这不就是在给根节点赋值吗
    哪里执行了把这个tree添加到之前的tree的子节点上了
      

  2.   

    Operation.Create(t.lchild);
    如果你想这样递归,你应该加入ref关键字,引用传递
    否则用值传递,new完,这个t就跟传入的t.lchild没有任何关系了
      

  3.   

    else
                {
                    t = new tree();
                    t.data = temp;
    .....改成
    else
                {
                   if(t==null) //加上这个判断
                    t = new tree();
                    t.data = temp;
    ...
      

  4.   

    这样不对,都还没有实例化的,保证都是null
      

  5.   

    这样不对,都还没有实例化的,保证都是null
    那就这样改
     if(t==null) //加上这个判断
                    t = new tree();
                    t.data = temp;
                   t. lchild = new tree();
                   t. rchild = new tree();

      

  6.   

    谢谢,用了ref关键字,结果出来了。
      

  7.   

    这样应该可以,先在外面new好,再传进函数里,函数里就不要重新new了
    或者在函数里重新new,参数加上ref关键字
      

  8.   

    谢谢,用了ref关键字,结果出来了。