package DataStructures.Tree;
import sun.reflect.generics.tree.Tree;
public class BinaryTreeDemo {
public static void main(String[] args) {
TreeNode t1 = new TreeNode(1);
TreeNode t2 = new TreeNode(2);
TreeNode t3 = new TreeNode(3);
TreeNode t4 = new TreeNode(4);
TreeNode t5 = new TreeNode(5);
t1.setLeft(t2);
t1.setRight(t3);
t2.setLeft(t4);
t2.setRight(t5);
BinaryTree t = new BinaryTree() ;
t.preOrder(t1);
System.out.println();
t.InOrder(t1);
System.out.println();
t.PostOrder(t1);
}
}
class TreeNode{
private int val;
private TreeNode left;
private TreeNode right;
public TreeNode(int val){
this.val = val;
}
public int getVal() {
return val;
}
public void setVal(int val) {
this.val = val;
}
public TreeNode getLeft() {
return left;
}
public void setLeft(TreeNode left) {
this.left = left;
}
public TreeNode getRight() {
return right;
}
public void setRight(TreeNode right) {
this.right = right;
}
}
class BinaryTree{
public void preOrder(TreeNode root){
if(root!=null){
System.out.print(root.getVal()+" ");
}
if(root.getLeft()!=null){
this.preOrder(root.getLeft());
}
if(root.getRight()!=null){
this.preOrder(root.getRight());
}
}
public void InOrder(TreeNode root){
if(root.getLeft()!=null){
this.InOrder(root.getLeft());
}
if(root!=null){
System.out.print(root.getVal()+" ");
}
if(root.getRight()!=null){
this.InOrder(root.getRight());
}
}
public void PostOrder(TreeNode root){
if(root.getLeft()!=null){
this.PostOrder(root.getLeft());
}
if(root.getRight()!=null){
this.PostOrder(root.getRight());
}
if(root!=null){
System.out.print(root.getVal()+" ");
}
}
}
java 实现二叉树
最新推荐文章于 2024-07-21 22:27:18 发布