void Arbol::destruirRec(Elemento * actual) {
	if (actual->getHijoIzquierdo() != NULL) {
		destruirRec(actual->getHijoIzquierdo());
	}
	if (actual->getHijoDerecho() != NULL) {
		destruirRec(actual->getHijoDerecho());
	}
	delete actual;
}
Exemplo n.º 2
0
void Arbol::destruirRec(Elemento * nodo) {
	if (nodo->getHijoIzq() != NULL) {
		destruirRec(nodo->getHijoIzq());
	}
	if (nodo->getHijoDer() != NULL) {
		destruirRec(nodo->getHijoDer());
	}
	// Primero se destruye a los hijos y luego al padre.
	delete nodo;
}
Exemplo n.º 3
0
void Lista::destruirRec(Elemento * nodo) {
	if (nodo->getProx() != NULL) {
		destruirRec(nodo->getProx());
	}
	// Primero se destruye el último y hasta llegar a la cabeza.
	delete nodo;
}
Exemplo n.º 4
0
Lista::~Lista(){
	if (cabeza != NULL) {
		destruirRec(cabeza);
	}
}
Exemplo n.º 5
0
Arbol::~Arbol(){
	if (raiz != NULL) {
		destruirRec(raiz);
	}
}
Exemplo n.º 6
0
ArbolBinario::~ArbolBinario() {
	if (raiz != NULL) {
		destruirRec(raiz);
	}
}
Arbol::~Arbol() {
	destruirRec(raiz);
}