/ Published in: C++
Binarno stablo pokazivac
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
struct node{ int label; node *lijevo, *desno; }; node *InitB(int x, node *T){ T = new node; T->lijevo = T->desno = NULL; T->label = x; return T; } node *RootB(node *T){ return T; } node *ParentB(int n, node *T){ if(T->label == n) return NULL; if(T->lijevo){ if(T->lijevo->label == n) return T; ParentB(n, T->lijevo); } if(T->desno){ if(T->desno->label == n) return T; ParentB(n, T->desno); } } node *LeftChildB(node *T){ return T->lijevo; } node *RightChildB(node *T){ return T->desno; } int LabelB(node *T){ return T->label; } void ChangeLabelB(int x, node *T){ T->label = x; } void CreateLeftB(int x, node *T){ if(T->lijevo) cout << "Cvor vec ima dijete!"<<endl; else{ node *novi = new node; novi->label = x; novi->lijevo = novi->desno = NULL; T->lijevo = novi; } } void CreateRightB(int x, node *T){ if(T->desno) cout << "Cvor vec ima dijete!"<<endl; else{ node *novi = new node; novi->label = x; novi->lijevo = novi->desno = NULL; T->desno = novi; } } void DeleteB(node *n, node *T){ if(n->lijevo != NULL) DeleteB(n->lijevo, T); if(n->desno != NULL) DeleteB(n->desno, T); delete n; }