Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- typedef int TIP;
- class bTree
- {
- public:
- TIP vrij;
- bTree *l, *r;
- bTree()
- {
- l = r = NULL;
- //kad se stvori novi cvor, adrese *l i *r se postavljaju na NULL
- }
- }; //class bTree
- bTree* LeftChildB(bTree *n)
- {
- return n->l;
- } ////bTree ParentB(bTree *n, bTree *node)
- bTree* RightChildB(bTree *n)
- {
- return n->r;
- } //bTree RightChildB(bTree *n)
- bTree* ParentB(bTree *n, bTree *node)
- {
- if(n == node) return NULL;
- if(LeftChildB(node) == n) return node;
- if(RightChildB(node) == n) return node;
- bTree *rez = NULL;
- if(LeftChildB(node) != NULL) rez = ParentB(n, LeftChildB(node));
- if(rez != NULL) return rez;
- if(RightChildB(node) != NULL) rez = ParentB(n, RightChildB(node));
- if(rez != NULL) return rez;
- return NULL;
- } //bTree ParentB(bTree *n, bTree *node)
- TIP LabelB(bTree *n)
- {
- return n->vrij;
- } //TIP LabelB(bTree *n)
- void ChangeLabelB(TIP x, bTree *n)
- {
- n->vrij = x;
- } //TIP ChangeLabelB(TIP x, bTree *n)
- bTree* RootB(bTree *T)
- {
- return T;
- } //bTree RootB(bTree *T)
- int CreateLeftB(TIP x, bTree *n)
- {
- if(LeftChildB(n) != NULL) return 0;
- bTree *novi = new bTree;
- novi->vrij = x;
- n->l = novi;
- return 1;
- } //int CreateLeftB(TIP x, bTree *n)
- int CreateRightB(TIP x, bTree *n)
- {
- if(RightChildB(n) != NULL) return 0;
- bTree *novi = new bTree;
- novi->vrij = x;
- n->r = novi;
- return 1;
- } //int CreateRightB(TIP x, bTree *n)
- void DeleteBpom(bTree *node)
- {
- if(LeftChildB(node) != NULL) DeleteBpom(LeftChildB(node));
- if(RightChildB(node) != NULL) DeleteBpom(RightChildB(node));
- delete node;
- } //void DeleteBpom(bTree *node)
- int DeleteB(bTree *n, bTree *T)
- {
- if(n != T)
- {
- bTree *rod = ParentB(n, T);
- if(rod == NULL) return 0;
- DeleteBpom(n);
- if(LeftChildB(rod) == n) rod->l = NULL;
- else if(RightChildB(rod) == n) rod->r = NULL;
- return 1;
- }else
- {
- DeleteBpom(T);
- return 1;
- }
- } //int DeleteB(bTree *n, bTree *T)
- bTree* InitB(TIP x)
- {
- bTree *novi = new bTree;
- novi->vrij = x;
- return novi;
- } //bTree InitB(TIP x)
Add Comment
Please, Sign In to add comment