public class Hero {
int id;
String name;
Hero left;
Hero right;
public Hero(int id, String name) {
this.id = id;
this.name = name;
}
}
package com.buba.hashtable;
public class TestTree {
public static void main(String[] args) {
Hero h1 = new Hero(1,"kxj1");
Hero h2 = new Hero(1,"kxj2");
Hero h3 = new Hero(1,"kxj3");
Hero h4 = new Hero(1,"kxj4");
Hero h5 = new Hero(1,"kxj5");
h1.left = h2;
h1.right = h3;
h3.right = h4;
h4.right = h5;
preOrder(h1);
System.out.println("---------");
infixOrder(h1);
System.out.println("---------");
postOrder(h1);
}
//前序遍历[先输入root节点,然后再输入左子树,然后再输出右子树]
public static void preOrder(Hero hero){
if(hero!=null){
System.out.println(hero.id+":"+hero.name);
preOrder(hero.left);
preOrder(hero.right);
}
}
//中序遍历[先输入root左子树,然后再输入root节点,然后再输出右子树]
public static void infixOrder(Hero hero){
if(hero!=null){
infixOrder(hero.left);
System.out.println(hero.id+":"+hero.name);
infixOrder(hero.right);
}
}
//后序遍历[先输入root左子树,然后再输出右子树,然后再输入root节点]
public static void postOrder(Hero hero){
if(hero!=null){
postOrder(hero.left);
postOrder(hero.right);
System.out.println(hero.id+":"+hero.name);
}
}
}