package com.tiaozaoj; public class NewBinaryTree { // Root node pointer. Will be null for an empty tree. private Node root ; private static class Node { Node left ; Node right ; int data ; Node( int newData) { left = null ; right = null ; data = newData; } } public NewBinaryTree() { root = null ; } public void insert( int data) { root = insert( root , data); } private Node insert(Node node, int data) { if (node== null ) { node = new Node(data); } else { if (data <= node. data ) { node. left = insert(node. left , data); } else { node. right = insert(node. right , data); } } return (node); // in any case, return the new pointer to the caller } public void buildTree( int [] data){ for ( int i=0;i<data.length ;i++){ insert(data[i]); } } public void printTree() { printTree( root ); System. out .println(); } private void printTree(Node node) { if (node == null ) return ; // left, node itself, right printTree(node. left ); System. out .print(node. data + " " ); printTree(node. right ); } }