Return to Snippet

Revision: 68534
at January 19, 2015 08:43 by brumihali


Initial Code
struct node{
	int label;
	node *lijevo, *desno;
};

node *InitB(int x, node *T){
	T = new node;
	T->lijevo = T->desno = NULL;
	T->label = x;
	return T;
}

node *RootB(node *T){
	return T;
}

node *ParentB(int n, node *T){
	if(T->label == n) return NULL;
	if(T->lijevo){
		if(T->lijevo->label == n) return T;
		ParentB(n, T->lijevo);
	}
	if(T->desno){
		if(T->desno->label == n) return T;
		ParentB(n, T->desno);
	}
}

node *LeftChildB(node *T){
	return T->lijevo;
}

node *RightChildB(node *T){
	return T->desno;
}

int LabelB(node *T){
	return T->label;
}

void ChangeLabelB(int x, node *T){
	T->label = x;
}

void CreateLeftB(int x, node *T){
	if(T->lijevo) cout << "Cvor vec ima dijete!"<<endl;
	else{
		node *novi = new node;
		novi->label = x;
		novi->lijevo = novi->desno = NULL;
		T->lijevo = novi;
	}
}

void CreateRightB(int x, node *T){
	if(T->desno) cout << "Cvor vec ima dijete!"<<endl;
	else{
		node *novi = new node;
		novi->label = x;
		novi->lijevo = novi->desno = NULL;
		T->desno = novi;
	}
}

void DeleteB(node *n, node *T){
	if(n->lijevo != NULL) DeleteB(n->lijevo, T);
	if(n->desno != NULL) DeleteB(n->desno, T);
	delete n;
}

Initial URL


Initial Description
Binarno stablo pokazivac

Initial Title
b_stablo_pokazivac.h

Initial Tags


Initial Language
C++