急需这道题目的过程,JAVA语言类。
任意给定一棵二叉树。试设计一个程序,在计算机中构造该二叉树,并对它进行遍历。要求输入时按照二叉排序树的定义建立二叉树,然后分别对它进行前序、中序、后序遍历,并输出遍历序列...
任意给定一棵二叉树。试设计一个程序,在计算机中构造该二叉树,并对它进行遍历。
要求输入时按照二叉排序树的定义建立二叉树,然后分别对它进行前序、中序、后序遍历,并输出遍历序列。 展开
要求输入时按照二叉排序树的定义建立二叉树,然后分别对它进行前序、中序、后序遍历,并输出遍历序列。 展开
2个回答
展开全部
class BinTree
{
class Node
{
private Integer data;
private Node left;
private Node right;
public Node(Integer data)
{
this.data=data;
}
public void addNode(Node n)
{
if(n.data<this.data){
if(this.left!=null){
this.left.addNode(n);
}
else{
this.left=n;
}
}
else if(n.data>=this.data){
if(this.right!=null){
this.right.addNode(n);
}else{
this.right=n;
}
}
}
public void printNode()
{
if(this.left!=null){
this.left.printNode();
}
System.out.print(this.data+"\t");
if(this.right!=null){
this.right.printNode();
}
}
}
public Node root=null;
public void add(Integer data)
{
Node n=new Node(data);
if(this.root==null){
this.root=n;
}else{
this.root.addNode(n);
}
}
public void print()
{
if(root!=null){
this.root.printNode();
}
}
}
public class BinaryTree
{
public static void main(String[] args)
{
BinTree bt=new BinTree();
bt.add(1);bt.add(4);bt.add(2);bt.add(5);bt.add(3);
bt.print();
}
}
更多追问追答
追问
这在运行的时候要定义几个类啊,恕鄙人愚笨,实在看得头晕眼花,都不晓得该怎么让他运行了。
追答
java文件的名字要和该文件中public class的类名一致。上述一共两个类,其中权限是public的类是BinaryTree。所以首先命名一个BinaryTree.java的文件。
然后上述代码复制进去。就可以了。
BinaryTree是主类,而且void main()也在里面。上面那个BinTree类是功能类,实现了二叉树的各种基本操作。main中已经写好了测试。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询