Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- struct node
- {
- int data;
- struct node* left;
- struct node* right;
- };
- struct node* createNode(int value){
- struct node* newNode = malloc(sizeof(struct node));
- newNode->data = value;
- newNode->left = NULL;
- newNode->right = NULL;
- return newNode;
- }
- struct node* insert(struct node* root, int data)
- {
- if (root == NULL) return createNode(data);
- if (data < root->data)
- root->left = insert(root->left, data);
- else if (data > root->data)
- root->right = insert(root->right, data);
- return root;
- }
- void inorder(struct node *node)
- {
- if(node->left!=NULL){
- inorder(node->left);
- }
- printf("%d\t",node->data);
- if(node->right!=NULL)
- {
- inorder(node->right);
- }
- }
- struct node *bst_search(struct node* root,int item)
- {
- struct node* node=root;
- while(node!=NULL)
- {
- if(node->data==item)
- {
- return node;
- }
- if(item<node->data)
- {
- node=node->left;
- }
- else
- {
- node=node->right;
- }
- }
- }
- int main()
- {
- struct node* root=NULL;
- root=insert(root,8);
- insert(root,9);
- insert(root,4);
- insert(root,10);
- insert(root,13);
- printf("before insertion:");
- inorder(root);
- struct node* node;
- node=bst_search(root,7);
- if(node!=NULL)
- {
- printf("%d\n",node->data);
- }
- else{
- printf("\nNOT FOUND\n");
- }
- insert(root,7);
- printf("After insertion:");
- inorder(root);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement