13.5.1 Starting at the First Node [ToC] [Index]     [Skip Fwd]     [Prev] [Up] [Next]

Finding the smallest node in the tree is just a matter of starting from the root and descending as far to the left as we can.

503. <PBST traverser first initializer 503> =
void *
pbst_t_first (struct pbst_traverser *trav, struct pbst_table *tree)
{ assert (tree != NULL && trav != NULL); trav->pbst_table = tree; trav->pbst_node = tree->pbst_root; if (trav->pbst_node != NULL)
    { while (trav->pbst_node->pbst_link[0] != NULL) trav->pbst_node = trav->pbst_node->pbst_link[0]; return trav->pbst_node->pbst_data; } else
    return NULL; }

This code is included in 502 and 546.