⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tree.h

📁 MySQL的ODBC接口程序源代码
💻 H
字号:
/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB   This file is public domain and comes with NO WARRANTY of any kind */#ifndef _tree_h#define _tree_h#ifdef	__cplusplusextern "C" {#endif#define MAX_TREE_HIGHT	40	/* = max 1048576 leafs in tree */#define ELEMENT_KEY(tree,element)\(tree->offset_to_key ? (void*)((byte*) element+tree->offset_to_key) :\			*((void**) (element+1)))#define tree_set_pointer(element,ptr) *((byte **) (element+1))=((byte*) (ptr))typedef enum { left_root_right, right_root_left } TREE_WALK;typedef uint32 element_count;typedef int (*tree_walk_action)(void *,element_count,void *);#ifdef MSDOStypedef struct st_tree_element {  struct st_tree_element *left,*right;  unsigned long count;  uchar    colour;			/* black is marked as 1 */} TREE_ELEMENT;#elsetypedef struct st_tree_element {  struct st_tree_element *left,*right;  uint32 count:31,	 colour:1;			/* black is marked as 1 */} TREE_ELEMENT;#endif /* MSDOS */typedef struct st_tree {  TREE_ELEMENT *root,null_element;  TREE_ELEMENT **parents[MAX_TREE_HIGHT];  uint offset_to_key,elements_in_tree,size_of_element;  qsort_cmp compare;  void (*free)(void *);} TREE;	/* Functions on hole tree */void init_tree(TREE *tree,int size,qsort_cmp compare,	       void (*free_element)(void*));void delete_tree(TREE*);	/* Functions on leafs */TREE_ELEMENT *tree_insert(TREE *tree,void *key,uint key_size);void *tree_search(TREE *tree,void *key);int tree_walk(TREE *tree,tree_walk_action action,	      void *argument, TREE_WALK visit);int tree_delete(TREE *tree,void *key);#ifdef	__cplusplus}#endif#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -