/ Published in: C++
polje
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
struct ele{ int label; bool used; }; struct btree{ ele elem[1000]; }; btree *InitB(int x,btree *T){ T = new btree; for(int i=0;i<1000;i++) T->elem[i].used = false; T->elem[1].label = x; T->elem[1].used = true; return T; } int LabelB(int n,btree *T){ return T->elem[n].label; } void ChangeLabelB(int x,int n,btree *T){ T->elem[n].label = x; } int RootB(btree *T){ return T->elem[1].label; } int LeftChildB(int n,btree *T){ if(!T->elem[2*n].used) return -1; return 2*n; } int RightChildB(int n,btree *T){ if(!T->elem[2*n+1].used) return -1; return 2*n+1; } int ParentB(int n,btree *T){ if(T->elem[1].label==n) return -1; if(n%2) return n/2+1; else return n/2; } void CreateLeftB(int x,int n,btree *T){ if(T->elem[2*n].used) cout << "Zauzeto!" << endl; else{ T->elem[2*n].label = x; T->elem[2*n].used = true; } } void CreateRightB(int x,int n,btree *T){ if(T->elem[2*n+1].used) cout << "Zauzeto!" << endl; else{ T->elem[2*n+1].label = x; T->elem[2*n+1].used = true; } } void DeleteB(int n,btree *T){ if(LeftChildB(n,T)!=-1) DeleteB(LeftChildB(n,T),T); if(RightChildB(n,T)!=-1) DeleteB(RightChildB(n,T),T); T->elem[n].used = false; }