Implementacija Binarnog stabla pomoču polja





0
Date Submitted Sun. Jan. 10th, 2010 6:29 PM
Revision 1 of 1
Beginner nikmagdic
Tags "CPlusPlus"
Comments 0 comments
Implementacija binarnog stabla pomoču polja


struct telem{
        int vrijednost1;
        bool vrijednost2;
};

struct tbin_stablo{
        telem elementi[10000];
};

tbin_stablo T;

void InitB(int s,tbin_stablo &bin_stablo){
        DeleteB(1,bin_stablo);
        bin_stablo.elementi[1].vrijednost1=s;
        bin_stablo.elementi[1].vrijednost2=true;
}

int ParentB(int a,tbin_stablo &bin_stablo){
        if(a==1)
                return -1;
        else
                return a/2;
}

int LeftChildB(int a,tbin_stablo &bin_stablo){
        if(bin.stablo_elementi[a*2].vrijednost2==false)
                return -1;
        else
                return a*2;
}

int RightChildB(int a,tbin_stablo &bin_stablo){
        if(bin_stablo.elementi[a*2+1].vrijednost2==false)
                return -1;
        else
                return a*2+1;
}

void CreateLeftB(int s,int a,tbin_stablo &bin_stablo){
        if(bin_stablo.elementi[a*2].vrijednost2==true)
                cout<<"Element postoji!"<<endl;
        else{
                bin_stablo.elementi[a*2].vrijednost1=s;
                bin_stablo.elementi[a*2].vrijednost2=true;
                cout<<"Napravljeno!"<<endl;
        }
}

void CreateRightB(int s,int a,tbin_stablo &bin_stablo){
        if(bin_stablo.elementi[a*2+1].vrijednost2==true)
                cout<<"Element postoji!"<<endl;
        else{
                bin_stablo.elementi[a*2+1].vrijednost1=s;
                bin_stablo.elementi[a*2+1].vrijednost2=true;
                cout<<"Napravljeno!"<<endl;
        }
}


int LabelB(int a,tbin_stablo &bin_stablo){
        return bin_stablo.elementi[a].vrijednost1;
}

void ChangeLabelB(tip s,int a,tbin_stablo &bin_stablo){
        bin_stablo.elementi[a].vrijednost2=s;
        cout<<"Promijenjeno!"<<endl;
}

int RootB(tbin_stablo &bin_stablo){
        if(bin_stablo.elementi[2].vrijednost2==false && bin_stablo.elementi[3].vrijednost2==false)
                return -1;
        else
                return 1;

}



void DeleteB(int a,tbin_stablo bin_stablo){
        if(bin_stablo.elementi[a*2].vrijednosst2==true)
                DeleteB(a*2,Stablo);
        if(bin_stablo.elementi[a*2+1].vrijednost2==true)
                DeleteB(a*2+1,Stablo);
        bin_stablo.elementi[a].vrijednost2=false;
}


//Moja implementacija se ne razlikuje previše od drugih kolega i kolegi. Razlika je u imenima varijabli i funkcija. Vidjela sam da neki imaju funkcije napisane na hrvatskom jeziku. Ja imam samo implementaciju pomo&#263;u polja

 

Nikolina Magdic

Comments

There are currently no comments for this snippet.

Voting

Votes Up


Votes Down