Saturday, November 9, 2013

Binary Tree (JAVA)

import java.io.*;
class node
{ int data;
node lc;
node rc;
node(int d)
{ data=d; }
}
class link
{ node root;
node ary[]=new node[20];  int top;
public link()
{ root=null;
top=1;  ary[top]=null;
}
public void insert(int a)
{ node ptr=root;
node newnode=new node(a);
if(ptr==null)
root=newnode;
else
{
 while(ptr!=null)
 {
   if(a>ptr.data)
   ptr=ptr.rc;
else if(a<ptr.data)
ptr=ptr.lc;
else
{ System.out.println("Data allredy exist");    break; }
  }
}
if(ptr==null)
ptr=newnode;
}
public void display()
{ node ptr=root;
System.out.println("INORDER");
inorder(ptr);

}
void inorder(node n)
{
if(n!=null)
{
inorder(n.lc);
System.out.println(""+n.data);
inorder(n.rc);
}
}


public void delete_lowest()
{ node ptr=root;   node parnt=null;
while(ptr.lc!=null)
{ parnt=ptr;
ptr=ptr.lc;
}
parnt.lc=null;
}
public void delete_highest()
{ node ptr=root;   node pt=null;
while(ptr.rc!=null)
{ pt=ptr;
ptr=ptr.rc;
}
pt.rc=null;
}
public void search(int x)
{ node ptr; ptr=root;
while(ptr!=null)
{ if(x>ptr.data)
ptr=ptr.rc;
else if(x<ptr.data)
ptr=ptr.lc;
else
{ System.out.println("Data found"); break; }
}
if(ptr==null)
{ System.out.println("Data not found"); }
}
}
class binarytree
{
public static void main(String args[])throws IOException
{ link newlink=new link();
int x; BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
do
{   System.out.println("*****BINARY TREE**********");
System.out.println("1.INSERT\n2.DELETE SMALLEST \n 3.DELETE HIGHEST \n 4.SEARCH \n 5.DISPLAY \n 6.EXIT");
x=Integer.parseInt(br.readLine());
switch(x)
{ case 1: System.out.println("insert value");
int a=Integer.parseInt(br.readLine());
newlink.insert(a); break;
case 2: newlink.delete_lowest(); break;
case 3: newlink.delete_highest(); break;
case 4: System.out.println("insert value");
int b=Integer.parseInt(br.readLine());
newlink.search(b); break;
case 5: newlink.display(); break;
case 6: break;
default:System.out.println("try again");
}
}
while(x!=6);
}
}

No comments:

Post a Comment