Revision: 68504
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at January 19, 2015 05:55 by ksimunovic
Initial Code
#include <iostream> using namespace std; char lab2[50]; bool alocirano2 = false; bool nadjen; struct ele { char naziv[50]; ele *lijevo, *desno; ele() { lijevo = NULL, desno = NULL; } }; void InitB(char naziv[50], ele *stablo) { strcpy(stablo->naziv, naziv); } void RootB(ele *stablo) { strcpy(lab2, stablo->naziv); } bool LeftChildB(char naziv[50], ele *stablo) { ele *novi = new ele; novi = stablo; if(novi->lijevo) { if(!strcmp(naziv, novi->naziv)) { strcpy(lab2, novi->lijevo->naziv); cout << "Lijevo dijete je nadjeno!" << endl; nadjen = true; return 1; } LeftChildB(naziv, novi->lijevo); } if(novi->desno) LeftChildB(naziv, novi->desno); return 0; } bool RightChildB(char naziv[50], ele *stablo) { ele *novi = new ele; novi = stablo; if(novi->lijevo) LeftChildB(naziv, novi->lijevo); if(novi->desno) { if(!strcmp(naziv, novi->naziv)) { strcpy(lab2, novi->desno->naziv); cout << "Desno dijete je nadjeno!" << endl; nadjen = true; return 1; } LeftChildB(naziv, novi->desno); } return 0; } bool CreateLeftB(char naziv2[50], char naziv[50], ele *stablo) { ele *novi = new ele; novi = stablo; if(!strcmp(naziv2, novi->naziv)) { if(novi->lijevo) { cout << "Pogreska!" << endl; return 0; } ele *novi3 = new ele; strcpy(novi3->naziv, naziv); novi->lijevo = novi3; nadjen = true; cout << "Uspjesno je kreirano novo dijete!" << endl; return 1; } if(novi->lijevo) { if(!strcmp(naziv2, novi->naziv)) { if(novi->lijevo) { cout << "Pogreska!" << endl; return 0; } ele *novi3 = new ele; strcpy(novi3->naziv, naziv); novi->lijevo = novi3; nadjen = true; cout << "Uspjesno je kreirano novo dijete!" << endl; return 1; } CreateLeftB(naziv2, naziv, novi->lijevo); } if(novi->desno) { if(!strcmp(naziv2, novi->naziv)) { if(novi->lijevo) { cout << "Pogreska!" << endl; return 0; } ele *novi2 = new ele; strcpy(novi2->naziv, naziv); novi->lijevo = novi2; nadjen = true; cout << "Uspjesno je kreirano novo dijete!" << endl; return 1; } CreateLeftB(naziv2, naziv, novi->desno); } return 0; } bool CreateRightB(char naziv2[50], char naziv[50], ele *stablo) { ele *novi = new ele; novi = stablo; if(!strcmp(naziv2, novi->naziv)) { if(novi->desno) { cout << "Pogreska!" << endl; return 0; } ele *novi3 = new ele; strcpy(novi3->naziv, naziv); novi->desno = novi3; nadjen = true; cout << "Uspjesno je kreirano novo dijete!" << endl; return 1; } if(novi->desno) { if(!strcmp(naziv2, novi->naziv)) { if(novi->desno) { cout << "Pogreska!" << endl; return 0; } ele *novi3 = new ele; strcpy(novi3->naziv, naziv); novi->desno = novi3; nadjen = true; cout << "Uspjesno je kreirano novo dijete!" << endl; return 1; } CreateLeftB(naziv2, naziv, novi->desno); } if(novi->lijevo) { if(!strcmp(naziv2, novi->naziv)) { if(novi->desno) { cout << "Pogreska!" << endl; return 0; } ele *novi2 = new ele; strcpy(novi2->naziv, naziv); novi->desno = novi2; nadjen = true; cout << "Uspjesno je kreirano novo dijete!" << endl; return 1; } CreateLeftB(naziv2, naziv, novi->lijevo); } return 0; } bool ParentB(char naziv[50], ele *stablo) { ele *novi = new ele; novi = stablo; if(novi->lijevo) { if(!strcmp(novi->lijevo->naziv, naziv)) { cout << "Pronadjeni roditelj: " << novi->naziv << endl; nadjen = true; return 1; } ParentB(naziv, novi->lijevo); } if(novi->desno) { if(!strcmp(novi->desno->naziv, naziv)) { cout << "Pronadjeni roditelj: " << novi->naziv << endl; nadjen = true; return 1; } ParentB(naziv, novi->desno); } return 0; } bool DeleteB(char naziv[50], ele *stablo) { ele *novi = new ele; novi = stablo; if(!strcmp(novi->naziv, naziv)) { cout << "Obrisano!" << endl; novi->lijevo = NULL; novi->desno = NULL; nadjen = true; return 1; } if(novi->lijevo) { if(!strcmp(novi->lijevo->naziv, naziv)) { cout << "Obrisani potomci!" << endl; novi->lijevo = NULL; novi->desno = NULL; nadjen = true; return 1; } DeleteB(naziv, novi->lijevo); } if(novi->desno) { if(!strcmp(novi->desno->naziv, naziv)) { cout << "Obrisani potomci!" << endl; novi->lijevo = NULL; novi->desno = NULL; nadjen = true; return 1; } DeleteB(naziv, novi->desno); } return 0; } bool ChangeLabelB(char naziv[50], char naziv2[50], ele *stablo) { ele *novi = new ele; novi = stablo; if(!strcmp(novi->naziv, naziv)) { cout << "Novi naziv cvora: " << naziv2 << endl; strcpy(novi->naziv, naziv2); nadjen = true; return 1; } if(novi->lijevo) { if(!strcmp(novi->lijevo->naziv, naziv)) { cout << "Novi naziv cvora: " << naziv2 << endl; strcpy(novi->naziv, naziv2); nadjen = true; return 1; } ChangeLabelB(naziv, naziv2, novi->lijevo); } if(novi->desno) { if(!strcmp(novi->desno->naziv, naziv)) { cout << "Novi naziv cvora: " << naziv2 << endl; strcpy(novi->naziv, naziv2); nadjen = true; return 1; } ChangeLabelB(naziv, naziv2, novi->desno); } return 0; }
Initial URL
Initial Description
bstablo_pokazivac.h
Initial Title
bstablo_pokazivac.h
Initial Tags
Initial Language
C++