11 Right-Threaded AVL Trees [ToC] [Index]     [Skip Back] [Skip Fwd]     [Prev] [Up] [Next]

In the same way that we can combine threaded trees with AVL trees to produce threaded AVL trees, we can combine right-threaded trees with AVL trees to produce right-threaded AVL trees. This chapter explores this combination, producing another table implementation.

Here's the form of the source and header files. Notice the use of rtavl_ as the identifier prefix. Likewise, we will often refer to right-threaded AVL trees as “RTAVL trees”.

415. <rtavl.h 415> =
<License 1>
#ifndef RTAVL_H
#define RTAVL_H 1

#include <stddef.h>

<Table types; tbl => rtavl 14>
<BST maximum height; bst => rtavl 28>
<TBST table structure; tbst => rtavl 250>
<RTAVL node structure 417>
<TBST traverser structure; tbst => rtavl 267>
<Table function prototypes; tbl => rtavl 15>

#endif /* rtavl.h */

416. <rtavl.c 416> =
<License 1>
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
#include "rtavl.h"

<RTAVL functions 418>