1.节点信息
public class TreeNode {
private int val;
private TreeNode parent;
private TreeNode leftChild;
private TreeNode rightChild;
public TreeNode(int val){
this.val = val;
}}
2.主要方法
package Tree;
import sun.reflect.generics.tree.Tree;
/**
* @program: SocketDemo
* @description: Tree
* @author: ZengZH
* @create: 2018-03-27 22:10
**/
public class Three {
public void insert(int val,TreeNode father){
if(val <= father.getVal()){
if(father.getLeftChild() == null){
TreeNode node = new TreeNode(val);
father.setLeftChild(node);
node.setParent(father);
}else{
insert(val,father.getLeftChild());
}
}else{
if(father.getRightChild() == null){
TreeNode node = new TreeNode(val);
father.setRightChild(node);
node.setParent(father);
}else {
insert(val,father.getRightChild());
}
}
}
public void MSort(TreeNode root){
if(root!=null){
MSort(root.getLeftChild());
System.out.println(root.getVal());
MSort(root.getRightChild());
}
}
public void printMinNode(TreeNode root){
if(root.getLeftChild()!=null){
printMinNode(root.getLeftChild());
}else {
System.out.println(root.getVal());
}
}
public void printMaxNode(TreeNode root){
if(root.getRightChild()!=null){
printMaxNode(root.getRightChild());
}else {
System.out.println(root.getVal());
}
}
public static void main(String args[]){
int[] ints =new int[]{11,15,34,5,44,13,57,11};
TreeNode root = new TreeNode(ints[0]);
Three three = new Three();
for(int i=1;i<ints.length;i++){
three.insert(ints[i],root);
}
three.MSort(root);
three.printMinNode(root);
three.printMaxNode(root);
}
}