1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
#include<iostream> using namespace std; class Node{ int data; Node *left; Node *right; public: Node *root; Node(){ root=NULL; } void inOrderDisplay(Node *root){ if(root!=NULL) { inOrderDisplay(root->left); cout<<root->data<<endl; inOrderDisplay(root->right); } } void process(Node *newParent, Node *oldParent){ if(oldParent==NULL){ return; } else if(oldParent->data>newParent->data){ if(oldParent->left=NULL){ oldParent->left=newParent; } process(newParent,oldParent->left); } else{ if(oldParent->right=NULL){ oldParent->right=newParent; } process(newParent,oldParent->right); } } void insertNode(){ if(root==NULL){ root=new Node; cout<<"Enter Value "; cin>>data; root->left=NULL; root->right=NULL; } else{ Node *parent; parent=new Node; cout<<"Enter value "; cin>>data; parent->left=NULL; parent->right=NULL; process(parent,root); } } }; int main(){ Node p; int ch; do{ cout<<"Enter 1 To Insert "<<endl; cout<<"Enter 2 To display "<<endl; cin>>ch; if(ch==1){p.insertNode();} if(ch==2){p.inOrderDisplay(p.root);} } while(ch!=3); }
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
#include<iostream> using namespace std; class Node{ int data; Node *left; Node *right; public: Node *root; Node():left(NULL),right(NULL),root(NULL){} void inOrderDisplay(Node *root){ if(root!=NULL) { inOrderDisplay(root->left); cout<<root->data<<endl; inOrderDisplay(root->right); } } void insert() { int item; cout<<"Enter data : ";cin>>item; Node* parent=NULL; Node* locptr=root; bool found=false; while(!found&&locptr!=NULL) { parent=locptr; if(item<locptr->data) locptr=locptr->left; else if(item>locptr->data) locptr=locptr->right; else found=true; } if(!found) { locptr=new Node; locptr->data=item; if(parent==NULL) root=locptr; else if(item<parent->data) parent->left=locptr; else parent->right=locptr; }else cout<<"Item already in the tree\a\n"; } }; int main(){ Node p; int ch; do{ cout<<"Enter 1 To Insert "<<endl; cout<<"Enter 2 To display "<<endl; cin>>ch; if(ch==1){p.insert();} if(ch==2){p.inOrderDisplay(p.root);} } while(ch!=3); }