📄 avl.h
字号:
/* * Revision Control Information * * /projects/hsis/CVS/utilities/avl/avl.h,v * rajeev * 1.3 * 1995/08/08 22:36:24 * */#ifndef AVL_INCLUDED#define AVL_INCLUDEDtypedef struct avl_node_struct avl_node;struct avl_node_struct { avl_node *left, *right; char *key; char *value; int height;};typedef struct avl_tree_struct avl_tree;struct avl_tree_struct { avl_node *root; int (*compar)(); int num_entries; int modified;};typedef struct avl_generator_struct avl_generator;struct avl_generator_struct { avl_tree *tree; avl_node **nodelist; int count;};#define AVL_FORWARD 0#define AVL_BACKWARD 1EXTERN avl_tree *avl_init_table ARGS((int (*)()));EXTERN int avl_delete ARGS((avl_tree *, char **, char **));EXTERN int avl_insert ARGS((avl_tree *, char *, char *));EXTERN int avl_lookup ARGS((avl_tree *, char *, char **));EXTERN int avl_first ARGS((avl_tree *, char **, char **));EXTERN int avl_last ARGS((avl_tree *, char **, char **));EXTERN int avl_find_or_add ARGS((avl_tree *, char *, char ***));EXTERN int avl_count ARGS((avl_tree *));EXTERN int avl_numcmp ARGS((char *, char *));EXTERN int avl_gen ARGS((avl_generator *, char **, char **));EXTERN void avl_foreach ARGS((avl_tree *, void (*)(), int));EXTERN void avl_free_table ARGS((avl_tree *, void (*)(), void (*)()));EXTERN void avl_free_gen ARGS((avl_generator *));EXTERN avl_generator *avl_init_gen ARGS((avl_tree *, int));#define avl_is_member(tree, key) avl_lookup(tree, key, (char **) 0)#define avl_foreach_item(table, gen, dir, key_p, value_p) \ for(gen = avl_init_gen(table, dir); \ avl_gen(gen, key_p, value_p) || (avl_free_gen(gen),0);)#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -