class Heap{
public static void main(String[] args){
BinarySearchTree bsT = new BinarySearchTree();
bsT.insertBST(3);
bsT.insertBST(15);
bsT.insertBST(56);
bsT.insertBST(7);
bsT.insertBST(33);
bsT.insertBST(45);
bsT.insertBST(20);
bsT.insertBST(19);
System.out.printf("\n Binary Tree >>>>");
bsT.printBST();
}}
class TreeNode{
int data;
TreeNode left;
TreeNode right;
}
class BinarySearchTree{
private TreeNode root = new TreeNode();
public TreeNode insertKey(TreeNode root, int x){
TreeNode p = root;
TreeNode newNode = new TreeNode();
newNode.data = x;
newNode.left = null;
newNode.right = null;
if(p == null)
return newNode;
else if (newNode.data > p.data){
p.left=insertKey(p.left,x);
return p;
}
else if (newNode.data < p.data){
p.right=insertKey(p.right,x);
return p;
}
else return p;
}
public void insertBST(int x){
root = insertKey(root,x);
}
public TreeNode searchBST(int x){
TreeNode p = root;
while(p != null){
if(x < p.data)
p = p.left;
else if (x > p.data)
p = p.right;
else return p;
}
return p;
}
public void inorder(TreeNode root){
if( root != null){
inorder(root.left);
System.out.printf(" %d", root.data);
inorder(root.right);
}
}
public void printBST(){
inorder(root);
System.out.println();
}
}
교재에 있는걸 변형해서 위처럼 구현해놨는데
저는 0을 입력하지 않았는데 자꾸 결과에 0이 포함되서 정렬이 되어버리네요... 어떻게 해야하나요;;