1 /************************* toolbox/tree.h **************************************
3 Copyright (c) 1997 A. Krall, R. Grafl, M. Gschwind, M. Probst
5 See file COPYRIGHT for information on usage and disclaimer of warranties
7 Verwaltung bin"arer B"aume
9 Authors: Reinhard Grafl EMAIL: cacao@complang.tuwien.ac.at
11 Last Change: 1996/10/03
13 *******************************************************************************/
15 typedef int (*treeelementcomperator) (void *key, void * element);
18 typedef struct treenode {
19 struct treenode *left,*right;
20 struct treenode *parent;
27 treeelementcomperator comperator;
35 tree *tree_new (treeelementcomperator comperator);
36 tree *tree_dnew (treeelementcomperator comperator);
37 void tree_free (tree *t);
39 void tree_add (tree *t, void *element, void *key);
40 void *tree_find (tree *t, void *key);
42 void *tree_this (tree *t);
43 void *tree_first (tree *t);
44 void *tree_next (tree *t);