bool TA234Nodo::InsertarAux (TComplejo c) { bool salida = false; if (tipo_nodo == 1) { if (c != itIz) { if (c.Comparar (itIz)) { itDe = itMe; itMe = itIz; itIz = c; } else { itDe = itMe; itMe = c; } tipo_nodo++; salida = true; } } else if (tipo_nodo == 2) { if (c != itIz && c != itMe) { if (c.Comparar (itIz)) { itDe = itMe; itMe = itIz; itIz = c; } else if (c.Comparar (itMe)) { itDe = itMe; itMe = c; } else { itDe = c; } salida = true; tipo_nodo++; } } return (salida); }
int TA234Nodo::Comparar (TComplejo c) { if (tipo_nodo == 1 && hijoIz.raiz != NULL && hijoMeIz.raiz != NULL) { if (c == itIz) { return 0; } else if (c.Comparar(itIz)) { return 1; } else { return 2; } } else if (tipo_nodo == 2 && hijoIz.raiz != NULL && hijoMeIz.raiz != NULL && hijoMeDe.raiz != NULL) { if (c == itIz || c == itMe) { return 0; } else if (c.Comparar(itIz)) { return 1; } else if (c.Comparar (itMe)) { return 2; } else { return 3; } } else if (tipo_nodo == 3 && hijoIz.raiz != NULL && hijoMeIz.raiz != NULL && hijoMeDe.raiz != NULL && hijoDe.raiz != NULL) { if (c == itIz || c == itMe || c == itDe) { return 0; } else if (c.Comparar(itIz)) { return 1; } else if (c.Comparar (itMe)) { return 2; } else if (c.Comparar (itDe)) { return 3; } else { return 4; } } else { return 5; } }
bool TA234Com::Buscar (TComplejo c) { bool salida = false; if (!EsVacio()) { if (raiz -> tipo_nodo == 1) { if (c == raiz -> itIz) { salida = true; } else { if (c.Comparar (raiz -> itIz)) { salida = raiz -> hijoIz.Buscar(c); } else { salida = raiz -> hijoMeIz.Buscar(c); } } } else if (raiz -> tipo_nodo == 2) { if (c == raiz -> itIz || c == raiz -> itMe) { salida = true; } else { if (c.Comparar (raiz -> itIz)) { salida = raiz -> hijoIz.Buscar (c); } else { if (c.Comparar (raiz -> itMe)) { salida = raiz -> hijoMeIz.Buscar (c); } else { salida = raiz -> hijoMeDe.Buscar (c); } } } } else if (raiz -> tipo_nodo == 3) { if (c == raiz -> itIz || c == raiz -> itMe || c == raiz -> itDe) { salida = true; } else { if (c.Comparar (raiz -> itIz)) { salida = raiz -> hijoIz.Buscar (c); } else { if (c.Comparar (raiz -> itMe)) { salida = raiz -> hijoMeIz.Buscar (c); } else { if (c.Comparar (raiz -> itDe)) { salida = raiz -> hijoMeDe.Buscar (c); } else { salida = raiz -> hijoDe.Buscar (c); } } } } } } return (salida); }