📄 tree.c
字号:
#include <tree.h>struct _TreeNode{ int balance; TreeNode* left; TreeNode* right; ADT key; ADT data;};Tree* tree_new(){ Tree* self; self = (Tree*)mem_new(sizeof(Tree*)); self->root = NULL; self->memchunk = FALSE; object_init_object (OBJECT (self), tree_destroy); return self;}Tree* tree_new_memchunk(){ Tree* self; self = (Tree*)mem_new(sizeof(Tree*)); self->root = NULL; self->memchunk = TRUE; object_init_object (OBJECT (self), tree_destroy); return self;}void tree_destory(Object* self){ tree_clear( (Tree*)self); mem_destroy (((Tree*)self)->data); mem_destroy (self);}void tree_insert(Tree* self, ADT p_key, ADT p_data){}void tree_remove(Tree* self, ADT p_key, ADT p_data){}void tree_is_empty(Tree* self){}void tree_clear(Tree* self){}ADT tree_lookup(Tree* self, ADT key){}ADT tree_search(Tree* self, ADT data){}void tree_foreach(Tree* self, UserFunc *p_func, ADT p_data){}int tree_height(Tree* self){}int tree_nodes (Tree* self){}static TreeNode* tree_node_insert(Tree* self, TreeNode* p_node, ADT key, ADT data, bool &insert){}static TreeNode* tree_node_balance(Tree* self, TreeNode* n){}static TreeNode* tree_node_remove(Tree* self, TreeNode* n, ADT key){}static TreeNode* tree_node_remove_leftmost(Tree* self, TreeNode* n, TreeNode** leftmost){}static void tree_node_clear(Tree* self, TreeNode* n){}static TreeNode* tree_node_restore_left_balance(Tree* self, TreeNode* n, int old_balance){}static TreeNode* tree_node_restore_right_balance(Tree* self, TreeNode* n, int old_balance){}static TreeNode* tree_node_lookup(Tree* self, TreeNode* n, ADT key){}static TreeNode* tree_node_search(Tree* self, TreeNode* n, ADT data){}static void tree_node_pre_order(Tree* self, TreeNode* n){}static void tree_node_in_order(Tree* self, TreeNode* n){}static void tree_node_post_order(Tree* self, TreeNode* n){}static int tree_node_count (Tree* self, TreeNode* n){}static int tree_node_height(Tree* self, TreeNode* n){}static TreeNode* tree_node_rotate_left (Tree* self, TreeNode* n){}static TreeNode* tree_node_rotate_right(Tree* self, TreeNode* n){}static void tree_node_check(Tree* self, TreeNode* n){}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -