#include #include struct node{ int data; struct node* left; struct node* right; }; struct node* createnode(int data){ struct node* n = (struct node*)malloc(sizeof(struct node)); n->data=data; n->left=NULL; n->right=NULL; return n; } void inorder(struct node* root){ if(root!=NULL){ inorder(root->left); printf("%d ", root->data); inorder(root->right); } } struct node* insert(struct node* node, int x){ if(node == NULL){ return createnode(x); } if(x < node->data) node->left = insert(node->left, x); else if(x > node->data) node->right = insert(node->right, x); return node; } int main(){ struct node* root = NULL; root = insert(root, 8); root = insert(root, 3); root = insert(root, 10); root = insert(root, 1); root = insert(root, 6); root = insert(root, 14); root = insert(root, 4); root = insert(root, 7); printf("<-----InOrder Traversal----->\n"); inorder(root); return 0; }