Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstring>
- #include <fstream>
- #include <cstdlib>
- using namespace std;
- class Tree
- {
- bool flg;
- int data;
- Tree *left,*right;
- public:
- Tree()
- {
- flg=false;
- data=0;
- left=NULL;
- right=NULL;
- }
- Tree(int d)
- {
- flg=true;
- data=d;
- left=NULL;
- right=NULL;
- }
- void add(int d)
- {
- if(!flg)
- {
- flg=true;
- data=d;
- left=NULL;
- right=NULL;
- return;
- }
- Tree *p=this;
- Tree *q;
- while(p)
- {
- q=p;
- if(d<p->data)
- p=p->left;
- else
- p=p->right;
- }
- p=new Tree(d);
- if(d<q->data)q->left=p;
- else
- q->right=p;
- }
- void show()
- {
- cout<<data<<" ";
- if(left) left->show();
- if(right) right->show();
- }
- ~Tree()
- {
- if(!flg)return;
- if(left){delete left;left=NULL;}
- if(right){delete right;right=NULL;}
- }
- };
- int main()
- {
- Tree tr1(10);
- tr1.add(17);
- tr1.add(32);
- tr1.add(81);
- tr1.add(-26);
- tr1.add(8);
- tr1.add(15);
- tr1.show();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement