| | <@xref{\NODE\, , Find parent of a TBST node; tbst =>.> tavl,327}
void * tavl_delete (struct tavl_table *tree, const void *item) {
struct tavl_node *p; /* Traverses tree to find node to delete. */
struct tavl_node *q; /* Parent of p. */
int dir; /* Index into q->tavl_link[] to get p. */
int cmp; /* Result of comparison between item and p. */
assert (tree != NULL && item != NULL);
<@xref{\NODE\, , Step 1: Search TAVL tree for item to delete.>,312}
<@xref{\NODE\, , Step 2: Delete item from TAVL tree.>,313}
<@xref{\NODE\, , Steps 3 and 4: Update balance factors and rebalance after TAVL deletion.>,318}
}
|