Revision: 65710
Updated Code
at January 13, 2014 12:44 by AOT_code
Updated Code
struct pok_element{
int label;
pok_element* left, * right;
};
pok_element* InitB(int x, pok_element* T){
T = new pok_element;
T->left = NULL;
T->right = NULL;
T->label = x;
return T;
}
pok_element* RootB(pok_element* T){
return T;
}
int LabelB(pok_element* T){
return T->label;
}
void ChangeLabelB(int x, pok_element* T){
T->label = x;
}
pok_element* ParentB(int n, pok_element* T){
if(T->label == n) return NULL;
if(T->left){
if(T->left->label == n) return T;
ParentB(n, T->left);
}
if(T->right){
if(T->right->label == n) return T;
ParentB(n, T->right);
}
}
pok_element* LeftChildB(pok_element* T){
return T->left;
}
pok_element* RightChildB(pok_element* T){
return T->right;
}
void CreateLeftB(int x, pok_element* T){
if(T->left) cout << "Cvor vec ima dijete!" << endl;
else{
pok_element* novi = new pok_element;
novi->label = x;
novi->left = NULL;
novi->right = NULL;
T->left = novi;
}
}
void CreateRightB(int x, pok_element* T){
if(T->right) cout << "Cvor vec ima dijete!" << endl;
else{
pok_element* novi = new pok_element;
novi->label = x;
novi->left = NULL;
novi->right = NULL;
T->right = novi;
}
}
void DeleteB(pok_element* n, pok_element* T){
if(n->left != NULL)
DeleteB(n->left, T);
if(n->right != NULL)
DeleteB(n->right, T);
delete n;
}
Revision: 65709
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at January 12, 2014 13:25 by AOT_code
Initial Code
struct pok_element{
int label;
pok_element* left, * right;
};
pok_element* InitB(int x, pok_element* T){
T = new pok_element;
T->left = NULL;
T->right = NULL;
T->label = x;
return T;
}
pok_element* RootB(pok_element* T){
return T;
}
int LabelB(pok_element* T){
return T->label;
}
void ChangeLabelB(int x, pok_element* T){
T->label = x;
}
pok_element* ParentB(int n, pok_element* T){
if(T->label == n) return NULL;
if(T->left){
if(T->left->label == n) return T;
ParentB(n, T->left);
}
if(T->right){
if(T->right->label == n) return T;
ParentB(n, T->right);
}
}
pok_element* LeftChildB(pok_element* T){
return T->left;
}
pok_element* RightChildB(pok_element* T){
return T->right;
}
void CreateLeftB(int x, pok_element* T){
if(T->left) cout << "Cvor vec ima dijete!" << endl;
else{
pok_element* novi = new pok_element;
novi->label = x;
novi->left = NULL;
novi->right = NULL;
T->left = novi;
}
}
void CreateRightB(int x, pok_element* T){
if(T->right) cout << "Cvor vec ima dijete!" << endl;
else{
pok_element* novi = new pok_element;
novi->label = x;
novi->left = NULL;
novi->right = NULL;
T->right = novi;
}
}
void DeleteB(pok_element* n, pok_element* T){
pok_element* erase = n, * parent = ParentB(n->label, T);
if(parent->left == n) parent->left = NULL;
else parent->right = NULL;
if(n->left) DeleteB(n->left,T);
else if(n->right) DeleteB(n->right,T);
delete erase;
}
Initial URL
Initial Description
Implementacija binarnog stabla pomoću funkcija koristeći pokazivaÄe.
Initial Title
binarno_stabo_pokazivac.h
Initial Tags
list
Initial Language
C++