Revision: 68522
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at January 19, 2015 08:17 by kgrlic
Initial Code
#include<iostream> using namespace std; struct st_ELEM{ int label; st_ELEM *lijevo,*desno; }; st_ELEM *INIT_B(int n,st_ELEM *T){ T = new st_ELEM; T->lijevo = T->desno = NULL; T->label = n; return T; } st_ELEM *ROOT_B(st_ELEM *T){ return T; } void CHANGE_LABEL_B(int x,st_ELEM *T){ T->label = x; } st_ELEM *PARENT_B(int n,st_ELEM *T){ if(T->label==n) return NULL; if(T->lijevo){ if(T->lijevo->label==n) return T; PARENT_B(n,T->lijevo); } if(T->desno){ if(T->desno->label==n) return T; PARENT_B(n,T->desno); } } st_ELEM *LEFT_CHILD_B(st_ELEM *T){ return T->lijevo; } st_ELEM *RIGHT_CHILD_B(st_ELEM *T){ return T->desno; } int LABEL_B(st_ELEM *T){ return T->label; } void CREATE_LEFT_B(int x, st_ELEM *T){ if(T->lijevo) cout << "Vec postoji!" << endl; else{ st_ELEM *novi = new st_ELEM; novi->label = x; novi->lijevo = NULL; novi->desno = NULL; T->lijevo = novi; } } void CREATE_RIGHT_B(int x,st_ELEM *T){ if(T->desno) cout << "Vec postoji!" << endl; else{ st_ELEM *novi = new st_ELEM; novi->label = x; novi->lijevo = NULL; novi->desno = NULL; T->desno = novi; } } void DELETE_B(st_ELEM *P,st_ELEM *T){ st_ELEM *erase = P,*roditelj = PARENT_B(P->label,T); if(roditelj->lijevo==P) roditelj->lijevo = NULL; else roditelj->desno = NULL; if(P->lijevo) DELETE_B(P->lijevo,T); if(P->desno) DELETE_B(P->desno,T); delete erase; }
Initial URL
Initial Description
test
Initial Title
binarno_pokazivaci.h
Initial Tags
Initial Language
C++