java 二分法排序

直接上代碼:
測試類:Test

public class Test {
    publicstatic void main(String[] args) {
       int[] arrys= { 56, 23, 57};
       BinaryTreebinaryTree = new BinaryTree();
       for (int i =0; i < arrys.length; i++) {
         binaryTree.insert(arrys[i]);
       }
      binaryTree.printTree();
    }
}

節點類:Node
public class Node {

    Nodeleft;
    Noderight;
    intdata;

    publicNode(int data) {
       this.data =data;
    }

}

二叉樹類:BinaryTree

public class BinaryTree {
    Noderoot;

    public voidinsert(int data) {
       root =insert(root, data);
    }

    private Nodeinsert(Node node, int data) {
       //如果node爲null那麼首先創建一個node對象
       if (node ==null) {
          node = newNode(data);
       } else{
          if (data<= node.data) {
             node.left =insert(node.left, data);
          } else{
             node.right =insert(node.right, data);
          }
       }

       returnnode;
    }

    public voidprintTree() {
      this.printTree(root);
    }

    private voidprintTree(Node node) {
       if (node ==null)
         return;
      printTree(node.left);
      System.out.print(node.data + " ");
      printTree(node.right);
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章