`
iwebcode
  • 浏览: 2023764 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

java 递归实现二叉树

 
阅读更多

/********************************二叉树*********************************************************/
import java.util.*;
public class BitTree
{
public BitTree(){}
public BitTree(String str)
{
data=str;
lchild=null;
rchild=null;
}
public static void createBitTree(BitTree tree,Scanner in)//前序生成二叉树
{
System.out.println("enter the string");
String s=in.next();
if(s.equals("over"))
tree=null;
else
{
tree.data=new String(s);
tree.lchild=new BitTree();
createBitTree(tree.lchild,in);
tree.rchild=new BitTree();
createBitTree(tree.rchild,in);
}
}
public static void traverseTree(BitTree root)//遍历二叉树
{
if(root==null)
System.out.print(" null ");
else
{
traverseTree(root.lchild);
System.out.println(root.data);
traverseTree(root.rchild);

}
}

private BitTree lchild;
private BitTree rchild;
private String data;
/*************************************************************************************************

******二叉树测试************************************************************
import java.util.*;
public class BitTreeTest {

public static void main(String[] args) {


BitTree tree=new BitTree("ch");
Scanner in=new Scanner(System.in);
BitTree.createBitTree(tree, in);
BitTree.traverseTree(tree);
}
}
总结犯了两个很大的毛病。导致第一次无法通过。

(1)没有实例化域就使用它。NULL是非实例化对象,用它就会引发空指针错误。

(2)私有变量无法通过访问器函数来改变它的值

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics