Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- struct treeNode{
- int val;
- treeNode * left;
- treeNode * right;
- };
- treeNode * addNode(treeNode * root, int data){
- if(root==NULL){
- treeNode * a = new treeNode();
- a->val = data;
- a->left = NULL;
- a->right = NULL;
- root = a;
- }
- else{
- if(root->val > data){
- root->left = addNode(root->left, data);
- }
- else{
- root->right = addNode(root->right, data);
- }
- }
- return root;
- }
- void print(treeNode * root){
- if(root==NULL)return;
- cout<<root->val<<" ";
- print(root->left);
- print(root->right);
- }
- void levelOrder(treeNode * root){
- queue<treeNode*> q;
- q.push(root);
- while(q.size()!=0){
- treeNode * temp = q.front();
- cout<<temp->val<<" ";
- q.pop();
- if(temp->left!=NULL){
- q.push(temp->left);
- }
- if(temp->right!=NULL){
- q.push(temp->right);
- }
- }
- }
- int main(){
- int n;
- cout<<"Total num of nodes in tree you want"<<endl;
- cin>>n;
- treeNode * root = NULL;
- for(int i = 0; i<n; i++){
- int data;
- cout<<"Enter an integer : "<<endl;
- cin>>data;
- root = addNode(root, data);
- }
- print(root); //preorder
- cout<<endl;
- levelOrder(root); //levelorder
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement