/ Published in: C++
Expand |
Embed | Plain Text
#include<iostream> using namespace std; //#include "bstablo_pokazivac.h" #include "bstablo_polje.h" #include "ostablo.h" int main() { int izbor; do{; cout<<"----------IZBORNIK----------"<<endl; cout<<"1. Binarno stablo"<<endl; cout<<"2. Opcenito stablo"<<endl; cout<<"9. Izlaz iz programa"<<endl; cout<<"----------------------------"<<endl; cin >> izbor; switch(izbor){ case 1: { int x1,x2,y1,y12,y2,y22; cout<<"Izvrsavanje operacija..."<<endl; cout<<"Inicijalizacija stabla"<<endl; bt* stablo = InitB(1, stablo); cout<<"Vrijednost korijena: " << LabelB(RootB(stablo), stablo)<<endl; cout<<"-----"<<endl; // cout << "Kreiranje lijevog dijeteta vrijednosti:"; cin>>x1; CreateLeftB(x1, RootB(stablo), stablo); cout << "Kreiranje desnog dijeta vrijednosti:"; cin>>x2; CreateRightB(x2, RootB(stablo), stablo); cout<<"-----"<<endl; // cout<<"Lijevo dijete korijena: " << LabelB(LeftChildB(RootB(stablo), stablo), stablo)<<endl; cout<<"Desno dijete korijena: " << LabelB(RightChildB(RootB(stablo), stablo), stablo)<<endl; cout<<"-----"<<endl; // cout<<"Kreiranje lijevog djeteta,lijevom djetetu korijena (cvor "<<x1<<")"<<endl; cin>>y1; CreateLeftB(y1, LeftChildB(RootB(stablo), stablo), stablo); cout<<"Kreiranje desnog djeteta, lijevom djetetu korijana (cvor "<<x1<<")"<<endl; cin>>y12; CreateRightB(y12, LeftChildB(RootB(stablo), stablo), stablo); cout<<"-----"<<endl; // cout<<"Kreiranje lijevog djeteta,desnom djetetu korijana (cvor "<<x2<<")"<<endl; cin>>y2; CreateLeftB(y2, RightChildB(RootB(stablo), stablo), stablo); cout<<"Kreiranje desnog djeteta,desnom djetetu korijana (cvor "<<x2<<")"<<endl; cin>>y22; CreateRightB(y22, RightChildB(RootB(stablo), stablo), stablo); cout<<"-----"<<endl; // cout<<"Lijevo dijete desnog dijeteta korijena: "; cout<<LabelB(LeftChildB(RightChildB(RootB(stablo), stablo), stablo), stablo)<<endl; cout<<"-----"<<endl; cout<<"Mijenjanje cvora "<<y2<<" u: "; cin>>x1; ChangeLabelB(x1, LeftChildB(RightChildB(RootB(stablo), stablo), stablo), stablo); cout<<"Lijevo dijete desnog dijeteta korijena: "; cout<<LabelB(LeftChildB(RightChildB(RootB(stablo), stablo), stablo), stablo)<<endl; cout<<"-----"<<endl; // cvor pom = RightChildB(RightChildB(RootB(stablo), stablo), stablo); cout<<"Roditelj cvora "<<y22<<" je: " << LabelB(ParentB(pom, stablo), stablo)<<endl; cout<<"-----"<<endl; cout<<"Brisanje cvora "<<x2<<" i svih njegovih potomaka..."<<endl; DeleteB(RightChildB(RootB(stablo), stablo), stablo); } break; case 2: { cout<<"Izvrsavanje operacija..."<<endl; tree *tree; int vrijednost; cout<<"Pocetna vrijednost korijena je 1"<<endl; tree=InitT(1,tree); cout<<"Unesite vrijednost cvora (cvor 2): ";cin>>vrijednost; CreateT(vrijednost,2,tree); cout<<"Unesite jos jednu vrijednost cvora (cvor 3): ";cin>>vrijednost; CreateT(vrijednost,3,tree); cout<<"-----"<<endl; cout<<"Vrijednost treceg cvora je: "<<LabelT(2,tree)<<endl; cout<<"Prvo dijete od cvora 2: "<<FirstChildT(2,tree)<<endl; cout<<"Roditelj od cvora 3: "<<ParentT(3,tree)<<endl; cout<<"-----"<<endl; cout<<"Unesite novu vrijednost treceg cvora: ";cin>>vrijednost; ChangeLabelT(vrijednost,2,tree); cout<<"-----"<<endl; cout<<"Nova vrijednost treceg cvora je: "<<LabelT(2,tree)<<endl; cout<<"-----"<<endl; cout<<"Brisanje cvora 2..."<<endl; DeleteT(2,tree); cout<<"Cvor 2 izbrisan..."<<endl; cout<<"Dealokacija stabla..."<<endl; delete tree; } break; case 9: break; default: cout<<"Pogresan unos!"<<endl; break; } }while(izbor != 9); system("pause"); return 0; }
You need to login to post a comment.
