package BinarySorttreeDemo; public class BinarySorttreedemo { public static void main(String[] args) { int [] arr = {1,43,3,23,4,34,6,56}; BinarySortTree binarySortTree = new BinarySortTree(); for (int i = 0; i < arr.length; i++) { binarySortTree.add(new Node(arr[i])); } binarySortTree.listtree(); } } class BinarySortTree{ private Node root; public void add(Node node){ if(root == null){ this.root = node; }else { root.add(node); } } public void listtree(){ root.listtree(); } } class Node{ public int value; private Node left; private Node right; public Node(int value) { this.value = value; } public void add(Node node){//创建二叉排序树 if(node == null){ return; } if(this.value> node.value){ if(this.left == null){ this.left = node; }else { this.left.add(node); } }else { if(this.right == null){ this.right = node; }else { this.right.add(node); } } } public void listtree(){//中序遍历 if (this.left!=null){ this.left.listtree(); } System.out.println(this.value); if (this.right!=null){ this.right.listtree(); } } }
二叉排序树的创建与中序遍历(java)
最新推荐文章于 2023-03-29 11:14:46 发布