daily pastebin goal
33%
SHARE
TWEET

abb_tp2.c

yonatanhc Jun 14th, 2018 64 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. abb_nodo_t* buscar_raiz_aux(const abb_t *arbol,const char* desde){
  2.     abb_nodo_t* nodo=arbol->raiz;
  3.     int comparar;
  4.     while((comparar=(arbol->comparar_clave(nodo->clave,desde))) == 0){
  5.         abb_nodo_t* aux=nodo;
  6.         if (comparar > 0){
  7.            nodo=aux->derecha;
  8.         }
  9.         else{
  10.             nodo=aux->izquierda;
  11.         }
  12.     }
  13.     return nodo;
  14. }
  15.  
  16. abb_iter_t *abb_iter_in_crear(const abb_t *arbol,const char* desde) {
  17.  
  18.     abb_iter_t* iter = malloc(sizeof(abb_iter_t));
  19.     if (!iter) {
  20.         return NULL;
  21.     }
  22.  
  23.     pila_t* pila = pila_crear();
  24.     if (!pila) {
  25.         free(iter);
  26.         return NULL;
  27.     }
  28.  
  29.     iter->pila = pila;
  30.     // Apilo raĆ­z y todos los hijos izquierdos.
  31.  
  32.     abb_nodo_t* aux=arbol->raiz;
  33.     if (desde){
  34.        aux=buscar_raiz_aux(arbol,desde);
  35.        pila_apilar_izquierdos(iter->pila,aux->derecha);
  36.     }
  37.     else{
  38.          pila_apilar_izquierdos(iter->pila,aux);
  39.     }
  40.  
  41.     return iter;
  42. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top