Revision: 68499
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at January 19, 2015 05:32 by maxxis95
Initial Code
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; }
Initial URL
Initial Description
polje
Initial Title
Binarno stablo polje
Initial Tags
Initial Language
C++