Advertisement
Guest User

Untitled

a guest
Feb 28th, 2020
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.06 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. struct node
  4. {
  5.     int data;
  6.     node *left, *right;
  7.     node(int data)
  8.     {
  9.         this -> data = data;
  10.         this -> left = NULL;
  11.         this -> right = NULL;
  12.     }
  13. };
  14. struct BST
  15. {
  16.     node *root = NULL;
  17.     node* insertHelper(node *cur, node *temp)
  18.     {
  19.         if(!cur)
  20.             return temp;
  21.         if(cur -> data < temp -> data)
  22.             cur -> right = insertHelper(cur -> right, temp);
  23.         else cur -> left = insertHelper(cur -> left, temp);
  24.         return cur;
  25.     }
  26.     void insert(int data)
  27.     {
  28.         node *temp = new node(data);
  29.         if(!root) root = temp;
  30.         else root = insertHelper(root, temp);
  31.     }
  32.     void printHelper(node *cur)
  33.     {
  34.         if(!cur)
  35.             return;
  36.         printf("%d -> ", cur -> data);
  37.         printHelper(cur -> left);
  38.         printHelper(cur -> right);
  39.     }
  40.     void preOrder()
  41.     {
  42.         printHelper(root);
  43.         printf("\n");
  44.     }
  45. };
  46. int main()
  47. {
  48.     #ifndef ONLINE_JUDGE
  49.     freopen("input.txt", "r", stdin);
  50.     freopen("output.txt", "w", stdout);
  51.     #endif
  52.     BST a;
  53.     a.insert(10);
  54.     a.insert(20);
  55.     a.insert(100);
  56.     a.insert(50);
  57.     a.insert(80);
  58.     a.insert(75);
  59.     a.insert(99);
  60.     a.preOrder();
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement