Here is my code to create & traverse BST but it has got some problems possibly run time - No output being shown. Can anyone figure out problem?
#include <stdio.h>
#include <stdlib.h>
struct Node{
int item;
struct Node* left;
struct Node* right;
};
struct Node* newNode(int item){
struct Node* newnode = (struct Node*)malloc(sizeof(struct Node));
newnode->item = item;
newnode->left = NULL;
newnode->right = NULL;
return newnode;
}
void insert(struct Node* root,int item){
if(root==NULL){
root = newNode(item);
}
if(item < root->item)
insert(root->left,item);
else
insert(root->right,item);
}
void inorder(struct Node* root){
if(root!=NULL){
inorder(root->left);
printf("%d ",root->item);
inorder(root->right);
}
}
int main(){
struct Node* root = NULL;
insert(root,50);
insert(root,30);
insert(root,10);
insert(root,40);
inorder(root);
return 0;
}