bes  Updated for version 3.20.6
avltree.h
1 /*
2  * FILENAME: avltree.h
3  *
4  * CAVEAT:
5  * No claims are made as to the suitability of the accompanying
6  * source code for any purpose. Although this source code has been
7  * used by the NOAA, no warranty, expressed or implied, is made by
8  * NOAA or the United States Government as to the accuracy and
9  * functioning of this source code, nor shall the fact of distribution
10  * constitute any such endorsement, and no responsibility is assumed
11  * by NOAA in connection therewith. The source code contained
12  * within was developed by an agency of the U.S. Government.
13  * NOAA's National Geophysical Data Center has no objection to the
14  * use of this source code for any purpose since it is not subject to
15  * copyright protection in the U.S. If this source code is incorporated
16  * into other software, a statement identifying this source code may be
17  * required under 17 U.S.C. 403 to appear with any copyright notice.
18  */
19 
20 #ifndef AVLTREE_H__
21 #define AVLTREE_H__
22 
23 typedef int *TREE; /* Dummy typedef for a tree. */
24 
25 typedef struct _leaf
26 {
27  struct _leaf *left ;
28  struct _leaf *right ;
29  unsigned size : 14 ;
30  unsigned bal : 2 ;
31 }
32 HEADER;
33  /* Possible values of bal field. Can be */
34  /* any three consecutive numbers but */
35  /* L < B < R must hold. */
36 #define L 0 /* Left subtree is larger */
37 #define B 1 /* Balanced subtree */
38 #define R 2 /* Right subtree is larger */
39 
40 HEADER *insert ( HEADER**, HEADER*, int(*)(void *, void *) );
41 
42 void tprint ( TREE* , void(*)(), FILE* );
43 
44 HEADER *talloc ( int );
45 void freeall ( HEADER** );
46 
47 #endif /* AVLTREE_H__ */
_leaf
Definition: avltree.h:25