Java数据结构之二叉查找树

来源:互联网 发布:淘宝仿真左轮 编辑:程序博客网 时间:2024/04/30 07:23
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 + " ");  }  }  }

0 0
原创粉丝点击