/ Published in: C++
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
struct telement{ int label, korijen; telem *lijevo, *desno; }; typedef struct telem *tcvor; typedef struct telem *tstablo; tcvor LeftChildB (tcvor cvor, tstablo stablo){ if (cvor->lijevo!= NULL) return cvor->lijevo; if (cvor->lijevo == NULL) cout<<"Nema lijevog djeteta."<<endl; }; tcvor RightChildB (tcvor cvor, tstablo stablo){ if (cvor->desno!= NULL) return cvor->desno; if (cvor->desno == NULL) cout<<"Nema desnog djeteta."<<endl; }; tcvor ParentB (tcvor cvor, tstablo stablo){ tcvor rod; if (LeftChildB(cvor, stablo)){ if (stablo->lijevo == cvor) return stablo->lijevo; rod = ParentB (cvor, stablo->lijevo); } if (RightChildB(cvor, stablo)){ if (stablo->desno == cvor) return stablo->desno; rod = ParentB(cvor, stablo->desno); } return rod; }; tcvor RootB (tstablo stablo){ if (stablo) return stablo; else cout<<"Greška!"<<endl; }; int LabelB (tcvor cvor, tstablo stablo){ if(RootB (stablo)){ return cvor->label; } else cout<<"Greška!"<<endl; }; void ChangeLabelB (int label, tcvor cvor, tstablo stablo){ if (!RootB (stablo)) cout << "Taj cvor ne postoji." << endl; else stablo->label = label; }; void CreateLeftB (int label, tcvor cvor, tstablo stablo){ tcvor novi = new telement; if (LeftChildB(cvor, stablo)){ cout<<"Vec postoji."<<endl; return; } else{ novi->label = label; novi->lijevi = NULL; novi->desni = NULL; cvor->lijevi = novi; } }; void CreateRightB (int label, tcvor cvor, tstablo stablo){ tcvor novi = new telement; if (RightChildB(cvor, stablo)){ cout<<"Vec postoji."<<endl; return; } else{ novi->label = label; novi->lijevi = NULL; novi->desni = NULL; cvor->desni = novi; } }; void DeleteB (tcvor cvor, tstablo stablo){ if (LeftChildB (cvor, stablo)) DeleteB (cvor->lijevi, stablo); if (RightChildB (cvor, stablo) ) DeleteB (cvor->desni, stablo); delete cvor; }; void InitB (int korijen, tstablo stablo){ tcvor novi = new telem; novi->korijen = korijen; novi->lijevi = NULL; novi->desni = NULL; stablo = novi; };