Facebook
From sadia mehrin rahi, 5 Months ago, written in C++.
Embed
Download Paste or View Raw
Hits: 127
  1.  
  2.  
  3. //Binary tree
  4.  
  5. #include<iostream>
  6. using namespace std;
  7. struct node{
  8.     int data;
  9.     struct node* left;
  10.     struct node* right;
  11.     node(int value): data(value),left(nullptr),right(nullptr){
  12.     };
  13. };
  14. struct node* NewNode(int value){
  15.     struct node* temp = new node(value);
  16.     temp -> data = value;
  17.     temp -> left = nullptr;
  18.     temp -> right = nullptr;
  19.     return temp;
  20. };
  21. void inorder(struct node* temp){
  22.     if(temp!=nullptr){
  23.         inorder(temp->left);
  24.         cout<<" "<<temp->data;
  25.         inorder(temp->right);
  26.     }
  27. }
  28. void preorder(struct node* temp){
  29.     if(temp!=nullptr){
  30.         cout<<" "<<temp->data;
  31.         preorder(temp->left);
  32.         preorder(temp->right);
  33.     }
  34. }
  35. void postorder(struct node* temp){
  36.     if(temp!=nullptr){
  37.         postorder(temp->left);
  38.         postorder(temp->right);
  39.         cout<<" "<<temp->data;
  40.     }
  41. }
  42. int main(){
  43.     int x, y, z;
  44.     cin>>x>>y>>z;
  45.     struct node* root = NewNode(x);
  46.     root->left = NewNode(y);
  47.     root->right = NewNode(z);
  48.     cout<<"Inorder: ";
  49.     inorder(root);
  50.     cout<<endl;
  51.     cout<<"Preorder: ";
  52.     preorder(root);
  53.     cout<<endl;
  54.     cout<<"Postorder: ";
  55.     postorder(root);
  56.     cout<<endl;
  57. return 0;
  58. }
  59.  
  60.  
  61. //Binary search tree
  62.  
  63.  
  64. #include<iostream>
  65. using namespace std;
  66. struct node{
  67.     int data;
  68.     struct node* left;
  69.     struct node* right;
  70.     node(int value): data(value),left(nullptr),right(nullptr){
  71.     };
  72. };
  73. struct node* NewNode(int value){
  74.     struct node* temp = new node(value);
  75.     temp->data = value;
  76.     temp->left = nullptr;
  77.     temp->right = nullptr;
  78.     return temp;
  79. };
  80. struct node* insert_element(struct node* root,int value){
  81.     if(root==nullptr){
  82.         return NewNode(value);
  83.     }
  84.     if(value<root->data){
  85.         root->left = insert_element(root->left,value);
  86.     }else{
  87.         root->right = insert_element(root->right,value);
  88.     }
  89. };
  90. bool search_BST(struct node* temp,int value){
  91.     if(temp==nullptr){
  92.         false;
  93.     }
  94.     if(temp->data==value){
  95.         return true;
  96.     }else if(value<temp->data){
  97.         return search_BST(temp->left,value);
  98.     }else{
  99.         return search_BST(temp->right,value);
  100.     }
  101. }
  102. void inorder(struct node* temp){
  103.     if(temp!=nullptr){
  104.         cout<<" "<<temp->data;
  105.         inorder(temp->left);
  106.         inorder(temp->right);
  107.     }
  108. }
  109. void preorder(struct node* temp){
  110.     if(temp!=nullptr){
  111.         preorder(temp->left);
  112.         cout<<" "<<temp->data;
  113.         preorder(temp->right);
  114.     }
  115. }
  116. void postorder(struct node* temp){
  117.     if(temp!=nullptr){
  118.         postorder(temp->left);
  119.         postorder(temp->right);
  120.         cout<<" "<<temp->data;
  121.     }
  122. }
  123. int main(){
  124.     struct node* ptr_root = nullptr;
  125.     int value,n;
  126.     cout<<"Enter the element number to be inserted: ";
  127.     cin>>n;
  128.     cout<<endl;
  129.     cout<<"Enter the values: "<<endl;
  130.     for(int i=0; i<n; i++){
  131.         cin>>value;
  132.         ptr_root = insert_element(ptr_root,value);
  133.     }
  134.     cout<<"Inorder: ";
  135.     inorder(ptr_root);
  136.     cout<<endl;
  137.     cout<<"Preorder: ";
  138.     preorder(ptr_root);
  139.     cout<<endl;
  140.     cout<<"Postorder: ";
  141.     postorder(ptr_root);
  142.     cout<<endl;
  143. return 0;
  144. }
  145.