# Posted By

mvracan on 01/12/14

# Statistics

Viewed 144 times
Favorited by 0 user(s)

# binarno stablo pomocu polja.h

/ Published in: C++
`#include<iostream>using namespace std; struct anode{    int label;    bool used;}; struct atree{    anode polje[1000];}; atree *aInitB(int x,atree *T){    T = new atree;    for(int i=0;i<1000;i++){            T->polje[i].used = false;            T->polje[i].label = -1;            }    T->polje[1].label = x;    T->polje[1].used = true;    return T;    } int aLabelB(int n,atree *T){    return T->polje[n].label;    } void aChangeLabelB(int x,int n,atree *T){    T->polje[n].label = x;    } int aRootB(atree *T){    return T->polje[1].label;    } int aLeftChildB(int n,atree *T){    return 2*n;    } int aRightChildB(int n,atree *T){    return 2*n+1;    } int aParentB(int n,atree *T){    if(T->polje[1].label==n) return -1;    if(n%2) return n/2+1;    else return n/2;    } void aCreateLeftB(int x,int n,atree *T){    if(T->polje[2*n].used) cout << "Lijevo dijete veÃƒï¿½Ã¯Â¿Â½ÃƒÂ¯Ã‚Â¿Ã‚Â½Ãƒï¿½Ã‚Â¯Ãƒï¿½Ã‚Â¿Ãƒï¿½Ã‚Â½ postoji!" << endl;    else{        T->polje[2*n].label = x;        T->polje[2*n].used = true;        }    } void aCreateRightB(int x,int n,atree *T){    if(T->polje[2*n+1].used) cout << "Desno dijete veÃƒï¿½Ã¯Â¿Â½ÃƒÂ¯Ã‚Â¿Ã‚Â½Ãƒï¿½Ã‚Â¯Ãƒï¿½Ã‚Â¿Ãƒï¿½Ã‚Â½ postoji!" << endl;    else{        T->polje[2*n+1].label = x;        T->polje[2*n+1].used = true;        }    } void aDeleteB(int n,atree *T){    if(T->polje[aLeftChildB(n,T)].used) aDeleteB(2*n,T);    if(T->polje[aRightChildB(n,T)].used) aDeleteB(2*n-1,T);    T->polje[n].label = -1;    T->polje[n].used = false;    }`