class Node{
int iData;
double dData;
Node leftChild;
Node rightChild;
public void displayNode(){
}
}
class Tree{
private Node root;
public Node find(int key){
Node current=root;
while(current.iData!=key){
if(key<current.iData)
current=current.leftChild;
else
current=current.rightChild;
if(current==null)
return null;
}
return current;
}
public void indert(int id,double dd){
Node newNode=new Node();
newNode.iData=id;
newNode.dData=dd;
if(root==null)
root=newNode;
else{
Node current=root;
Node parent;
while(true){
parent=current;
if(id<current.iData){
current=current.leftChild;
if(current==null){
parent.leftChild=newNode;
return;
}
}else{
current=current.rightChild;
if(current==null){
parent.rightChild=newNode;
return;
}
}
}
}
}
public boolean delete(int key){
Node current=root;
Node parent=root;
boolean isLeftChild=true;
while(current.iData!=key){
parent=current;
if(key<current.iData){
isLeftChild=true;
current=current.leftChild;
}
else{
isLeftChild=false;
current=current.rightChild;
}
if(current==null)
return false;
}
if(current.leftChild==null&¤t.rightChild==null){
if(current==root)
root=null;
else if(isLeftChild)
parent.leftChild=null;
else
parent.rightChild=null;
}else if(current.rightChild==null){
if(current==root)
root=current.leftChild;
else if(isLeftChild)
parent.leftChild=current.leftChild;
else
parent.rightChild=current.rightChild;
}else if(current.leftChild==null){
if(current==root)
root=current.rightChild;
if(isLeftChild)
parent.leftChild=current.leftChild;
else
parent.rightChild=current.rightChild;
}
return false;
}
public void inOrder(Node localRoot){
if(localRoot!=null){
inOrder(localRoot.leftChild);
System.out.println(localRoot.iData+" ");
inOrder(localRoot.rightChild);
}
}
//Binary Search Tree
public Node minimun(){
Node current,last = null;
current=root;
while(current!=null){
last=current;
current=current.leftChild;
}
return last;
}
public Node maximun(){
Node current,last=null;
current=root;
while(current!=null){
last=current;
current=current.rightChild;
}
return last;
}
}
public class TreeApp {
}