package com.coding.basic; public class BinarySortTree { BinaryTreeNode root = null; int size =0; public void insert(Object o) { BinaryTreeNode node = new BinaryTreeNode(); node.setData(o); node.setLeft(null); node.setRight(null); if(null == root) { root = node; size++; } BinaryTreeNode p = root; BinaryTreeNode pre = p; while(p!= null) { if(objectCompare(o, p.getData())<0) { pre = p; p=p.getLeft(); } else { pre = p; p=p.getRight(); } } if(objectCompare(o, pre.getData())<0) { pre.setLeft(node); } else { pre.setRight(node); } size++; } private int objectCompare(Object o1, Object o2) { // return o.toString().compareTo(o2.toString()); return (Integer) o1 - (Integer)o2; } public void print(BinaryTreeNode r) { if(r==null) { return; } System.out.print(r.getData() + "->"); print(r.getLeft()); print(r.getRight()); } }