A 6
A 6
#include <iostream>
#include <algorithm>
using namespace std;
struct node{
int data;
node* left;
node* right;
node(int item){
data=item;
left=NULL;
right=NULL;
}
};
class tree{
node* root;
public:
tree(){
cout<<"Enter root element\n";
int t;
cin>>t;
root=new node(t);
}
node* insert(node* Node,int data){
if (Node==NULL){
return new node(data);
}
else if(Node->data==data){
return Node;
}
else if(Node->data<data){
Node->right=insert(Node->right,data);
}
else{
Node->left=insert(Node->left,data);
}
return Node;
}
node* getRoot(){
return root;
}
void inorder(node* root) {
if (root != NULL) {
inorder(root->left);
cout << root->data << " ";
inorder(root->right);
}
}
void postorder(node* root){
if(root!=NULL){
postorder(root->left);
postorder(root->right);
cout<<root->data<<" ";
}
}
void preorder(node* root){
if(root!=NULL){
cout<<root->data<<" ";
preorder(root->left);
preorder(root->right);
}
}
default:cont=0;
}
}while (cont==1);
cout<<endl;
return 0;
}
OUTPUT
Enter root element
10
===========================
Enter operation 1.insert 2.inorder 3.preorder 4.postorder 5.search 6. mirror7. delete 8.display leaf 9.depth
1
Enter data
5
===========================
Enter operation 1.insert 2.inorder 3.preorder 4.postorder 5.search 6. mirror7. delete 8.display leaf 9.depth
1
Enter data
13
===========================
Enter operation 1.insert 2.inorder 3.preorder 4.postorder 5.search 6. mirror7. delete 8.display leaf 9.depth
1
Enter data
8
===========================
Enter operation 1.insert 2.inorder 3.preorder 4.postorder 5.search 6. mirror7. delete 8.display leaf 9.depth
2
5 8 10 13
===========================
Enter operation 1.insert 2.inorder 3.preorder 4.postorder 5.search 6. mirror7. delete 8.display leaf 9.depth
5
Enter number to be searched
8
Element present
===========================
Enter operation 1.insert 2.inorder 3.preorder 4.postorder 5.search 6. mirror7. delete 8.display leaf 9.depth
6
===========================
Enter operation 1.insert 2.inorder 3.preorder 4.postorder 5.search 6. mirror7. delete 8.display leaf 9.depth
2
13 10 8 5
===========================
Enter operation 1.insert 2.inorder 3.preorder 4.postorder 5.search 6. mirror7. delete 8.display leaf 9.depth
6
===========================
Enter operation 1.insert 2.inorder 3.preorder 4.postorder 5.search 6. mirror7. delete 8.display leaf 9.depth
7
Enter number to be deleted
5
===========================
Enter operation 1.insert 2.inorder 3.preorder 4.postorder 5.search 6. mirror7. delete 8.display leaf 9.depth
2
8 10 13
===========================
Enter operation 1.insert 2.inorder 3.preorder 4.postorder 5.search 6. mirror7. delete 8.display leaf 9.depth
8
8 13
===========================
Enter operation 1.insert 2.inorder 3.preorder 4.postorder 5.search 6. mirror7. delete 8.display leaf 9.depth
9
2