/ Published in: C++
Expand |
Embed | Plain Text
#include <iostream> #include <ctime> using namespace std; #define RANDNUM 1000 //#include "bstablo_polje.h" #include "bstablo_pokazivaci.h" int main(){ int i; srand ( time(0) ); labeltype polje[RANDNUM], broj; for (i=0; i<RANDNUM; i++){ polje[i] = 1 + rand()%RANDNUM; cout <<polje[i]; if (i<RANDNUM-1) cout <<", "; } cout <<endl; //popunjavanje binarnog stabla nasumicnim brojevima iz polja btree bstablo; bstablo = InitB(polje[0]); node n = Null; node nc = Null; labeltype label = 0; for (i=1; i<RANDNUM; i++){ n = RootB(bstablo); while(1){ label = LabelB(n, bstablo); if (polje[i]<=label){ nc = LeftChildB(n, bstablo); }else{ nc = RightChildB(n, bstablo); } if (nc == Null){ if (polje[i]<=label){ CreateLeftB(polje[i], n, bstablo); break; }else{ CreateRightB(polje[i], n, bstablo); break; } }else n = nc; } } cout <<endl; cout <<"Unesite broj koji zelite pretraziti u binarnom stablu: "; cin >>broj; n = RootB(bstablo); while(1){ label = LabelB(n, bstablo); if (broj<label){ nc = LeftChildB(n, bstablo); }else if (broj>label){ nc = RightChildB(n, bstablo); }else if (broj == label){ cout <<"Broj je pronadjen u binarnom stablu na poziciji "<<n<<": "<<label<<endl; break; } if (nc == Null){ cout <<"Broj nije pronadjen u binarnom stablu!"<<endl; break; }else n = nc; } system("pause"); return 0; }
You need to login to post a comment.
