fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. struct bstnode{
  5.  
  6. int data;
  7. bstnode* left;
  8. bstnode* right;
  9. };
  10.  
  11. bstnode* getnewnode(int data){
  12.  
  13. bstnode* newnode = new bstnode();
  14. newnode -> data=data;
  15. newnode -> left = newnode->right = NULL;
  16. return newnode;
  17. }
  18.  
  19. bstnode* insert(bstnode* root,int data){
  20.  
  21. if(root==NULL){
  22. root = getnewnode(data);
  23. }
  24. else if (data <= root->data ){
  25. root->left= insert (root->left,data);
  26. }
  27. else{
  28. root->right=insert(root->right,data);
  29. }
  30. return root;
  31. }
  32.  
  33. bool search (bstnode* root,int d){
  34.  
  35. if(root==NULL)
  36. return false;
  37.  
  38. if(root->data == d)
  39. {
  40. return true;
  41. }
  42. else if(d <= root->data)
  43. return search(root->left,d);
  44. else
  45. return search(root->right,d);
  46.  
  47. }
  48.  
  49. void inorder(bstnode *r)
  50. {
  51. if(r!=NULL)
  52. {
  53. inorder(r->left);
  54. cout<<r->data<<" ";
  55. inorder(r->right);
  56. }
  57. }
  58.  
  59. int main()
  60. {
  61.  
  62. bstnode* root =NULL;
  63. root = insert (root,15);
  64. root = insert(root,10);
  65. root = insert(root,20);
  66. root = insert(root,25);
  67. root = insert(root,8);
  68. root = insert(root,12);
  69. int number;
  70. //cout<<"enter number be searched\n";
  71. //inorder(root);
  72. cin>>number;
  73. if(search(root,number)==true)cout<<"Found\n";
  74. else cout<< "Not Found\n";
  75. return 0;
  76. }
Success #stdin #stdout 0s 3276KB
stdin
16
stdout
Not Found