#include #include struct node { int data; node *left; node *right; }; class btree { node *first; int count; public: btree (): first(NULL),count(0) {} node * get() { return first; } void insert(int d) { node *ptr=new node; ptr->data=d; ptr->left=NULL; ptr->right=NULL; if(first==NULL) first=ptr; else { node* curr =first; node * insertv=first; int flag; while(curr!=NULL) { insertv=curr; if(d>=curr->data) { flag=1; curr=curr->right; }//end if else { flag=0; curr=curr->left; } // end else } //end while if(flag==1) insertv->right=ptr; else insertv->left=ptr; } } void display(node *ptr) { if(ptr==NULL); else { cout<data<<"\t\t\t\n"; display(ptr->left); display(ptr->right); } } void search(int d) { node *temp=first; //while(temp->left!=NULL && temp->right!=NULL) while(temp!=NULL) { if(temp->data==d) { cout<<"element found"; break; } else if(d>temp->data) temp=temp->right; else if(ddata) temp=temp->left; } } }; void main() { clrscr(); btree b; b.insert(2); b.insert(6); b.insert(9); b.insert(1); b.display(b.get()); b.search(8); getch(); }