Advertisement
AlaminSakib

Binary Search Tree [Selise]

Dec 24th, 2019
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.43 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. struct BstNode
  5. {
  6.     int data;
  7.     struct BstNode *left, *right;
  8. }*root = NULL;
  9.  
  10. class BST_Tree
  11. {
  12. public:
  13.  
  14.     BstNode *insert_node(BstNode *root, int data)
  15.     {
  16.         BstNode *newnode = new BstNode;
  17.         newnode -> data = data;
  18.         newnode -> left = newnode -> right = NULL;
  19.  
  20.         if(root == NULL)
  21.         {
  22.             root = newnode;
  23.             return root;
  24.         }
  25.         else if(data <= root -> data) root -> left = insert_node(root -> left, data);
  26.         else root -> right = insert_node(root -> right, data);
  27.         return root;
  28.     }
  29.  
  30.     bool Search(BstNode *root, int data)
  31.     {
  32.         if(root == NULL) return false;
  33.         else if(root -> data == data) return true;
  34.         else if(root -> data >= data) Search(root -> left, data);
  35.         else Search(root -> right, data);
  36.     }
  37.  
  38.     void Inorder_traversal(BstNode *root)
  39.     {
  40.         if(root != NULL)
  41.         {
  42.             Inorder_traversal(root -> left);
  43.             cout << root -> data << " ";
  44.             Inorder_traversal(root -> right);
  45.         }
  46.     }
  47.    
  48.    
  49. };
  50.  
  51. int main()
  52. {
  53.     BST_Tree tree;
  54.     root = tree.insert_node(root, 10);
  55.     root = tree.insert_node(root, 12);
  56.     root = tree.insert_node(root, 167);
  57.     root = tree.insert_node(root, 19);
  58.     root = tree.insert_node(root, 45);
  59.     root = tree.insert_node(root, 8);
  60.     tree.Inorder_traversal(root);
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement