Advertisement
Guest User

Untitled

a guest
Nov 15th, 2019
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.62 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3.  
  4. struct node
  5. {
  6. int data;
  7. struct node* left;
  8. struct node* right;
  9. };
  10. struct node *createNode(int value){
  11. struct node* newNode = (struct node *)malloc(sizeof(struct node));
  12. newNode->data = value;
  13. newNode->left = NULL;
  14. newNode->right = NULL;
  15. return newNode;
  16. }
  17.  
  18.  
  19. struct node* insert(struct node* root, int data)
  20. {
  21. if (root == NULL) return createNode(data);
  22. if (data < root->data)
  23. root->left = insert(root->left, data);
  24. else if (data > root->data)
  25. root->right = insert(root->right, data);
  26.  
  27. return root;
  28. }
  29. void inorder(struct node *node)
  30. {
  31.  
  32. if(node->left!=NULL){
  33. inorder(node->left);
  34. }
  35. printf("%d\t",node->data);
  36.  
  37. if(node->right!=NULL)
  38. {
  39. inorder(node->right);
  40. }
  41. }
  42. struct node *bst_search(struct node* root,int item)
  43. {
  44. struct node* node=root;
  45.  
  46. while(node!=NULL)
  47. {
  48. if(node->data==item)
  49. {
  50. return node;
  51. }
  52. if(item<node->data)
  53. {
  54. node=node->left;
  55. }
  56. else
  57. {
  58. node=node->right;
  59. }
  60. }
  61. }
  62. int main()
  63. {
  64. struct node* root=NULL;
  65. root=insert(root,8);
  66. insert(root,9);
  67. insert(root,4);
  68. insert(root,10);
  69. insert(root,13);
  70.  
  71. printf("before insertion:");
  72. inorder(root);
  73. struct node* node;
  74. node=bst_search(root,7);
  75.  
  76. if(node!=NULL)
  77. {
  78. printf("%d\n",node->data);
  79. }
  80. else{
  81. printf("\nNOT FOUND\n");
  82. }
  83. insert(root,7);
  84. printf("After insertion:");
  85. inorder(root);
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement