#include<iostream>
#include<conio.h>
#include<stdlib.h>
using namespace std;
void insert(int,int );
void delte(int);
void display(int);
int search(int);
int search1(int,int);
int tree[40],t=1,s,x,i;
int main()
{
int ch,y;
for(i=1; i<40; i++)
tree[i]=-1;
while(1)
{
cout <<"1.INSERT\n2.DELETE\n3.DISPLAY\n4.SEARCH\n5.EXIT\nEnter your Choice:";
cin >> ch;
switch(ch)
{
case 1:
cout <<"Enter the element to Insert";
cin >> ch;
insert(1,ch);
break;
case 2:
cout <<"Enter the element to Delete";
cin >>x;
y=search(1);
if(y!=-1) delte(y);
else cout<<"No Such Element Found in Tree";
break;
case 3:
display(1);
cout<<"\n";
for(int i=0; i<=32; i++)
cout <<i;
cout <<"\n";
break;
case 4:
cout <<"Enter the Element to Search:";
cin >> x;
y=search(1);
if(y == -1) cout <<"No such Element Found in Tree";
else cout <<x << "is in" << y <<"Position";
break;
case 5:
exit(0);
}
}
return 0;
}
void insert(int s,int ch )
{
int x;
if(t==1)
{
tree[t++]=ch;
return;
}
x=search1(s,ch);
if(tree[x]>ch)
tree[2*x]=ch;
else
tree[2*x+1]=ch;
t++;
}
void delte(int x)
{
if( tree[2*x]==-1 && tree[2*x+1]==-1)
tree[x]=-1;
else if(tree[2*x]==-1)
{
tree[x]=tree[2*x+1];
tree[2*x+1]=-1;
}
else if(tree[2*x+1]==-1)
{
tree[x]=tree[2*x];
tree[2*x]=-1;
}
else
{
tree[x]=tree[2*x];
delte(2*x);
}
t--;
}
int search(int s)
{
if(t==1)
{
cout <<"No element in tree";
return -1;
}
if(tree[s]==-1)
return tree[s];
if(tree[s]>x)
search(2*s);
else if(tree[s]<x)
search(2*s+1);
else
return s;
}
void display(int s)
{
if(t==1)
{
cout <<"No element in tree:";
return;
}
for(int i=1; i<40; i++)
if(tree[i]==-1)
cout <<" ";
else cout <<tree[i];
return ;
}
int search1(int s,int ch)
{
if(t==1)
{
cout <<"No element in tree";
return -1;
}
if(tree[s]==-1)
return s/2;
if(tree[s] > ch)
search1(2*s,ch);
else search1(2*s+1,ch);
}
OUTPUT:
1.INSERT 2.DELETE 3.DISPLAY 4.SEARCH 5.EXIT Enter your Choice:1 Enter the element to Insert33 1.INSERT 2.DELETE 3.DISPLAY 4.SEARCH 5.EXIT Enter your Choice:3 33 1.INSERT 2.DELETE 3.DISPLAY 4.SEARCH 5.EXIT Enter your Choice:4 Enter the Element to Search:33 33is in1Position 1.INSERT 2.DELETE 3.DISPLAY 4.SEARCH 5.EXIT Enter your Choice:5