/* Encuentra la hoja mas a la izquierda */ /* [MAYO-97] */ /* AMILCAR MENESES VIVEROS */ node *first_leaft(node *n) { if ( isleaf(n) == BTRUE ) return n; else return first_leaf(n->an[0]); }Una vez hallada la primera hoja se listan todos sus elementos en orden ascendente, y después saltar al siguiente nodo hoja al que hace referencia el apuntador nxt, y así sucesivamente hasta que algún nodo hoja tenga el valor de NULL en nxt (la hoja más a la derecha).
/* Lista todos los registros en forma secuencial */ /* [MAYO-97] */ /* AMILCAR MENESES VIVEROS */ void list_all(node *root) { int i, l, c; node *h; c=0; h = first_leaf(root); while( h != NULL ) { l = h->nKeys; /* Numero de elementos */ for(i=0; i<l; i++) { c++; /* Contador de elementos */ list_element(h,i,c); /* Despliega el registro */ } h = h->nxt; /* Proximo nodo hoja */ } }