Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- struct node
- {
- int data;
- node *left, *right;
- node(int data)
- {
- this -> data = data;
- this -> left = NULL;
- this -> right = NULL;
- }
- };
- struct BST
- {
- node *root = NULL;
- node* insertHelper(node *cur, node *temp)
- {
- if(!cur)
- return temp;
- if(cur -> data < temp -> data)
- cur -> right = insertHelper(cur -> right, temp);
- else cur -> left = insertHelper(cur -> left, temp);
- return cur;
- }
- void insert(int data)
- {
- node *temp = new node(data);
- if(!root) root = temp;
- else root = insertHelper(root, temp);
- }
- void printHelper(node *cur)
- {
- if(!cur)
- return;
- printf("%d -> ", cur -> data);
- printHelper(cur -> left);
- printHelper(cur -> right);
- }
- void preOrder()
- {
- printHelper(root);
- printf("\n");
- }
- };
- int main()
- {
- #ifndef ONLINE_JUDGE
- freopen("input.txt", "r", stdin);
- freopen("output.txt", "w", stdout);
- #endif
- BST a;
- a.insert(10);
- a.insert(20);
- a.insert(100);
- a.insert(50);
- a.insert(80);
- a.insert(75);
- a.insert(99);
- a.preOrder();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement