Revision: 68499
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++`