Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- struct tree
- {
- double oznaka;
- tree *lijevo, *desno;
- };
- typedef tree *element;
- element LeftChildB(tree *cvor, tree *stablo)
- {
- if(cvor->lijevo!=NULL)
- return cvor->lijevo;
- }
- element RightChildB(tree *cvor, tree *stablo)
- {
- if(cvor->desno!=NULL)
- return cvor->desno;
- }
- double LabelB(tree *cvor,tree *stablo)
- {
- return stablo->oznaka;
- }
- element RootB(tree *stablo)
- {
- if(stablo)return stablo;
- else cout<<"Stablo ne postoji"<<endl;
- }
- element ParentB(tree *cvor, tree *stablo)
- {
- element e;
- e=RootB(cvor);
- if(e==stablo)
- {
- cout<<"Cvor nema roditelja"<<endl;
- exit(0);
- }
- return cvor;
- }
- void CreateLeftB(int oznaka, tree *cvor, tree *stablo)
- {
- tree *novi=new tree;
- if(stablo->lijevo!=NULL) cout<<"Cvor ne postoji"<<endl;
- else
- {
- novi->oznaka=oznaka;
- novi->lijevo=NULL;
- novi->desno=NULL;
- cvor->lijevo=novi;
- }
- }
- void CreateRightB(int oznaka, tree *cvor, tree *stablo)
- {
- tree *novi=new tree;
- if(stablo->desno!=NULL) cout<<"Cvor ne postoji"<<endl;
- else
- {
- novi->oznaka=oznaka;
- novi->desno=NULL;
- novi->lijevo=NULL;
- cvor->desno=novi;
- }
- }
- void ChangeLabelB(int oznaka, tree *cvor, tree *stablo)
- {
- if(!stablo) cout<<"Nije moguce mijenjati"<<endl;
- else stablo->oznaka=oznaka;
- }
- void DeleteB(tree *cvor, tree *stablo)
- {
- if(cvor->lijevo!=NULL) DeleteB(cvor->lijevo,stablo);
- if(cvor->desno!=NULL) DeleteB(cvor->desno,stablo);
- delete cvor;
- }
- element InitB(int korijen, tree *stablo)
- {
- stablo=new tree;
- stablo->oznaka=korijen;
- stablo->lijevo=NULL;
- stablo->desno=NULL;
- }
Add Comment
Please, Sign In to add comment