package JavaProject;
public class TestBinarySearchTree {
public static void main(String[] args) {
BinarySearchTree BiSTree = new BinarySearchTree();
BiSTree.insert(BiSTree.root,2);
BiSTree.insert(BiSTree.root,4);
BiSTree.insert(BiSTree.root,12);
BiSTree.insert(BiSTree.root,45);
BiSTree.insert(BiSTree.root,21);
BiSTree.insert(BiSTree.root,6);
BiSTree.insert(BiSTree.root,111);
System.out.printf("二叉树的前序遍历为:");
BiSTree.preOrder(BiSTree.root);
System.out.printf("\n二叉树的中序遍历为:");
BiSTree.inOrder(BiSTree.root);
System.out.printf("\n二叉树的后序遍历为:");
BiSTree.postOrder(BiSTree.root);
}
}
class BinarySearchTree{
class Node{
public int data;
public Node left;
public Node right;
public Node(int data){
this.data = data;
this.left = null;
this.right = null;
}
}
int ans;
public Node root;
public BinarySearchTree(){
root = null;
}
public void insert(Node node,int element){
if(root == null){
root = new Node(element);
}
else{
if(element < node.data){
if(node.left == null){
node.left = new Node(element);
}
else{
insert(node.left,element);
}
}
else{
if(node.right == null){
node.right = new Node(element);
}
else{
insert(node.right,element);
}
}
}
}
public void preOrder(Node node){
if(node != null){
System.out.print(node.data + " ");
preOrder(node.left);
preOrder(node.right);
}
}
public void inOrder(Node node){
if(node != null){
inOrder(node.left);
System.out.print(node.data + " ");
inOrder(node.right);
}
}
public void postOrder(Node node){
if(node != null){
postOrder(node.left);
postOrder(node.right);
System.out.print(node.data + " ");
}
}
}