1. #include<iostream>
  2. using namespace std;
  3. struct node
  4. {
  5. int data;
  6. node *left;
  7. node *right;
  8. };
  9. node* insert(node* root, int value)
  10. {
  11. if(root == NULL)
  12. {
  13. node* temp = new node();
  14. temp->data = value;
  15. temp->left = temp->right = NULL;
  16. return temp;
  17. }
  18.  
  19. if(value < root->data)
  20. root->left = insert(root->left, value);
  21. else
  22. root->right = insert(root->right, value);
  23.  
  24. return root;
  25. }
  26. void inorder(node* root)
  27. {
  28. if(root != NULL)
  29. {
  30. inorder(root->left);
  31. cout<<root->data<<" ";
  32. inorder(root->right);
  33. }
  34. }
  35.  
  36. int main()
  37. {
  38. node* root = NULL;
  39.  
  40. root = insert(root, 50);
  41. insert(root, 18);
  42. insert(root, 22);
  43. insert(root, 28);
  44. insert(root, 48);
  45.  
  46. cout<<"Inorder traversal: ";
  47. inorder(root);
  48.  
  49. return 0;
  50. }