Revision: 38486
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at January 4, 2011 04:05 by kokotec
Initial Code
struct telement{
int oznaka, korijen;
telement *lijevi, *desni;
};
typedef struct telement *tcvor;
typedef struct telement *tstablo;
tcvor LeftChildB (tcvor cvor, tstablo stablo){
if (cvor->lijevi != NULL)
return cvor->lijevi;
if (cvor->lijevi == NULL)
cout<<"Greška, nema lijevog djeteta"<<endl;
};
tcvor RightChildB (tcvor cvor, tstablo stablo){
if (cvor->desni != NULL)
return cvor->desni;
if (cvor->desni == NULL)
cout<<"Greška, nema desnog djeteta"<<endl;
};
tcvor ParentB (tcvor cvor, tstablo stablo){
tcvor par;
if (LeftChildB(cvor, stablo)){
if (stablo->lijevi == cvor) return stablo->lijevi;
par = ParentB (cvor, stablo->lijevi);
}
if (RightChildB(cvor, stablo)){
if (stablo->desni == cvor) return stablo->desni;
par = ParentB(cvor, stablo->desni);
}
return par;
};
tcvor RootB (tstablo stablo){
if (stablo) return stablo;
else
cout<<"Greška"<<endl;
};
int LabelB (tcvor cvor, tstablo stablo){
if(RootB (stablo)){
return cvor->oznaka;
}
else
cout<<"Greška..."<<endl;
};
void ChangeLabelB (int oznaka, tcvor cvor, tstablo stablo){
if (!RootB (stablo))
cout << "Cvor ne postoji, pa mu se ne moze promijeniti oznaka!!!" << endl;
else
stablo->oznaka = oznaka;
};
void CreateLeftB (int oznaka, tcvor cvor, tstablo stablo){
tcvor novi = new telement;
if (LeftChildB(cvor, stablo)){
cout<<"Lijevo dijete vec postoji..."<<endl;
return;
}
else{
novi->oznaka = oznaka;
novi->lijevi = NULL;
novi->desni = NULL;
cvor->lijevi = novi;
}
};
void CreateRightB (int oznaka, tcvor cvor, tstablo stablo){
tcvor novi = new telement;
if (RightChildB(cvor, stablo)){
cout<<"Desno dijete vec postoji..."<<endl;
return;
}
else{
novi->oznaka = oznaka;
novi->lijevi = NULL;
novi->desni = NULL;
cvor->desni = novi;
}
};
void DeleteB (tcvor cvor, tstablo stablo){
if (LeftChildB (cvor, stablo)) DeleteB (cvor->lijevi, stablo);
if (RightChildB (cvor, stablo) ) DeleteB (cvor->desni, stablo);
delete cvor;
};
void InitB (int korijen, tstablo stablo){
tcvor novi = new telement;
novi->korijen = korijen;
novi->lijevi = NULL;
novi->desni = NULL;
stablo = novi;
};
Initial URL
Initial Description
Initial Title
bstablo_pokazivac
Initial Tags
c++
Initial Language
C++