先序创建一个二叉树
(手动输入数据的时候需要把想创建的树按照先序的顺序进行输入,程序把他变为你想要你树)
程序代码如下:
import java.util.Scanner;
class Node {//节点
public int element;
public Node left;
public Node right;
}
class BiTree {//二叉树
Node root;
public BiTree() {
this.root = null;
}
}
public class TreeApp {
/**
* 创建tree
*/
public static Node create(Node node) {
Scanner in = new Scanner(System.in);
System.out.println("请输入节点的值:");
int value = in.nextInt();
if (value != 0) {
node = new Node();
node.element = value;
node.left = create(node.left);
node.right = create(node.right);
} else {
//下面的步骤至关重要!!!
// node.left = null;
// node.right = null;
node = null;
}
return node;
}
public static void inorder(Node node ){
if(node ==null){
return;
}
else{
pr(node.left);
System.out.println(node.element);
pr(node.right);
}
}
public static void main(String[] args) {
BiTree tree = new BiTree();
tree.root = create(tree.root);
inorder(tree.root);//中序遍历
System.out.println(tree.root);
System.out.println(tree.root.element);
//System.out.println(tree.root.right.element);
}
}
以上参考:https://blog.csdn.net/jjf09/article/details/70530159
https://www.cnblogs.com/jymblog/p/5421148.html