Advertisement
Guest User

Untitled

a guest
Apr 24th, 2019
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.31 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstring>
  3. #include <fstream>
  4. #include <cstdlib>
  5. using namespace std;
  6. class Tree
  7. {
  8. bool flg;
  9. int data;
  10. Tree *left,*right;
  11. public:
  12. Tree()
  13. {
  14. flg=false;
  15. data=0;
  16. left=NULL;
  17. right=NULL;
  18. }
  19. Tree(int d)
  20. {
  21. flg=true;
  22. data=d;
  23. left=NULL;
  24. right=NULL;
  25. }
  26. void add(int d)
  27. {
  28. if(!flg)
  29. {
  30. flg=true;
  31. data=d;
  32. left=NULL;
  33. right=NULL;
  34. return;
  35. }
  36. Tree *p=this;
  37. Tree *q;
  38. while(p)
  39. {
  40. q=p;
  41. if(d<p->data)
  42.  
  43. p=p->left;
  44. else
  45. p=p->right;
  46. }
  47. p=new Tree(d);
  48. if(d<q->data)q->left=p;
  49. else
  50. q->right=p;
  51. }
  52. void show()
  53. {
  54. cout<<data<<" ";
  55. if(left) left->show();
  56. if(right) right->show();
  57. }
  58. ~Tree()
  59. {
  60. if(!flg)return;
  61. if(left){delete left;left=NULL;}
  62. if(right){delete right;right=NULL;}
  63. }
  64. };
  65. int main()
  66. {
  67. Tree tr1(10);
  68. tr1.add(17);
  69. tr1.add(32);
  70. tr1.add(81);
  71. tr1.add(-26);
  72. tr1.add(8);
  73. tr1.add(15);
  74. tr1.show();
  75. return 0;
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement