GNU libavl 2.0.1
Author: Ben Pfaff

13.5 Traversal |

The traverser for a PBST is just like that for a TBST, so we can reuse a couple of the TBST functions. Besides that and a couple of completely generic functions, we have to reimplement the traversal functions.

    502. <PBST traversal functions 502> =
    <TBST traverser null initializer; tbst => pbst 269>
    <PBST traverser first initializer 503>
    <PBST traverser last initializer 504>
    <PBST traverser search initializer 505>
    <PBST traverser insertion initializer 506>
    <TBST traverser copy initializer; tbst => pbst 274>
    <PBST traverser advance function 507>
    <PBST traverser back up function 508>
    <BST traverser current item function; bst => pbst 74>
    <BST traverser replacement function; bst => pbst 75>

This code is included in 489.

Subsections:

- 13.5.1 Starting at the First Node
- 13.5.2 Starting at the Last Node
- 13.5.3 Starting at a Found Node
- 13.5.4 Starting at an Inserted Node
- 13.5.5 Advancing to the Next Node
- 13.5.6 Backing Up to the Previous Node

13.4 Deletion | 13 BSTs with Parent Pointers | 13.5.1 Starting at the First Node