GNU libavl 2.0.1
Author: Ben Pfaff

7.3 Operations |

Now that we've changed the basic form of our binary trees, we have to rewrite most of the tree functions. A function designed for use with unthreaded trees will get hopelessly lost in a threaded tree, because it will follow threads that it thinks are child pointers. The only functions we can keep are the totally generic functions defined in terms of other table functions.

    251. <TBST functions 251> =
    <TBST creation function 252>
    <TBST search function 253>
    <TBST item insertion function 254>
    <Table insertion convenience functions; tbl => tbst 592>
    <TBST item deletion function 257>
    <TBST traversal functions 268>
    <TBST copy function 278>
    <TBST destruction function 281>
    <TBST balance function 282>
    <Default memory allocation functions; tbl => tbst 6>
    <Table assertion functions; tbl => tbst 594>

This code is included in 248.

7.2 Data Types | 7 Threaded Binary Search Trees | 7.4 Creation