| iMatix home page
| << | < | > | >>
SFL Logo SFL
Version 2.11

Linked-list functions

Filename: sfltree.h
Package: Standard Function Library (SFL)
Written: 1997/11/18 Jonathan Schultz jonathan@imatix.com
Revised: 1998/01/03 Jonathan Schultz jonathan@imatix.com
Copyright: Copyright (c) 1996-2000 iMatix Corporation

Synopsis

Provides functions to maintain 'Red-Black' balanced binary trees. You can use these functions to work with trees of any structure. To make this work, all structures must start with the following: "void *left, *right, *parent; TREE_COLOUR colour;". All trees need a pointer to the root of type TREE which should be initialised with tree_init - you can test whether a tree is empty by comparing its root with TREE_NULL. The order of nodes in the tree is determined by calling a node comparison function provided by the caller - this accepts two node pointers and returns zero if the two nodes are equal, -1 if the first is smaller and 1 if the first is larger.

List of Functions

List of Symbol Definitions

sfltree.h defines these symbols, possibly conditionally:
Symbol: Defined as:
SFLTREE_INCLUDED TRUE
TREE_DUPLICATE -1
TREE_NULL &TREE_EMPTY
TREE_OK 0

List of Type Definitions

Type name: Defined as:
TREE_COLOUR enum {BLACK, RED}
TREE_COMPARE int () (void *t1, void *t2)
TREE_PROCESS void () (void *t)

| << | < | > | >> iMatix Copyright © 1996-2000 iMatix Corporation