#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