/* 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 */
}
}