#include<iostream>
using namespace std;
struct node
{
int data;
node *left;
node *right;
};
node* insert(node* root, int value)
{
if(root == NULL)
{
node* temp = new node();
temp->data = value;
temp->left = temp->right = NULL;
return temp;
}
if(value < root->data)
root->left = insert(root->left, value);
else
root->right = insert(root->right, value);
return root;
}
void inorder(node* root)
{
if(root != NULL)
{
inorder(root->left);
cout<<root->data<<" ";
inorder(root->right);
}
}
int main()
{
node* root = NULL;
root = insert(root, 50);
insert(root, 18);
insert(root, 22);
insert(root, 28);
insert(root, 48);
cout<<"Inorder traversal: ";
inorder(root);
return 0;
}