将avl和rbt公用的函数重命名

This commit is contained in:
建峰 2024-07-02 16:07:09 +08:00
parent 91d6976009
commit 7715825de9
2 changed files with 31 additions and 30 deletions

View File

@ -539,7 +539,7 @@ bool tree_avl_delete(struct _tree* self, void* obj)
return true; return true;
} }
struct _tree_node * tree_avl_find(struct _tree* self, void* obj) struct _tree_node * tree_find(struct _tree* self, void* obj)
{ {
assert(self != NULL); assert(self != NULL);
struct _tree_node* root = self->_root; struct _tree_node* root = self->_root;
@ -619,7 +619,7 @@ void tree_order(struct _tree* self, bool right_priority)
self->_right_priority = right_priority; self->_right_priority = right_priority;
} }
void tree_avl_preorder(struct _tree* self, struct _tree_node* root) void tree_preorder(struct _tree* self, struct _tree_node* root)
{ {
#if 0 #if 0
assert(self != NULL); assert(self != NULL);
@ -633,11 +633,11 @@ void tree_avl_preorder(struct _tree* self, struct _tree_node* root)
self->print_obj(root->obj); self->print_obj(root->obj);
if(root->left != NULL) if(root->left != NULL)
{ {
tree_avl_preorder(self, root->left); tree_preorder(self, root->left);
} }
if(root->right != NULL) if(root->right != NULL)
{ {
tree_avl_preorder(self, root->right); tree_preorder(self, root->right);
} }
} }
else else
@ -645,11 +645,11 @@ void tree_avl_preorder(struct _tree* self, struct _tree_node* root)
self->print_obj(root->obj); self->print_obj(root->obj);
if(root->right != NULL) if(root->right != NULL)
{ {
tree_avl_preorder(self, root->right); tree_preorder(self, root->right);
} }
if(root->left != NULL) if(root->left != NULL)
{ {
tree_avl_preorder(self, root->left); tree_preorder(self, root->left);
} }
} }
#else #else
@ -703,7 +703,7 @@ void tree_avl_preorder(struct _tree* self, struct _tree_node* root)
#endif #endif
} }
void tree_avl_inorder(struct _tree* self, struct _tree_node* root) void tree_inorder(struct _tree* self, struct _tree_node* root)
{ {
#if 0 #if 0
assert(self != NULL); assert(self != NULL);
@ -716,24 +716,24 @@ void tree_avl_inorder(struct _tree* self, struct _tree_node* root)
{ {
if(root->left != NULL) if(root->left != NULL)
{ {
tree_avl_inorder(self, root->left); tree_inorder(self, root->left);
} }
self->print_obj(root->obj); self->print_obj(root->obj);
if(root->right != NULL) if(root->right != NULL)
{ {
tree_avl_inorder(self, root->right); tree_inorder(self, root->right);
} }
} }
else else
{ {
if(root->right != NULL) if(root->right != NULL)
{ {
tree_avl_inorder(self, root->right); tree_inorder(self, root->right);
} }
self->print_obj(root->obj); self->print_obj(root->obj);
if(root->left != NULL) if(root->left != NULL)
{ {
tree_avl_inorder(self, root->left); tree_inorder(self, root->left);
} }
} }
#else #else
@ -788,7 +788,7 @@ void tree_avl_inorder(struct _tree* self, struct _tree_node* root)
#endif #endif
} }
void tree_avl_postorder(struct _tree* self, struct _tree_node* root) void tree_postorder(struct _tree* self, struct _tree_node* root)
{ {
#if 0 #if 0
assert(self != NULL); assert(self != NULL);
@ -801,11 +801,11 @@ void tree_avl_postorder(struct _tree* self, struct _tree_node* root)
{ {
if(root->left != NULL) if(root->left != NULL)
{ {
tree_avl_postorder(self, root->left); tree_postorder(self, root->left);
} }
if(root->right != NULL) if(root->right != NULL)
{ {
tree_avl_postorder(self, root->right); tree_postorder(self, root->right);
} }
self->print_obj(root->obj); self->print_obj(root->obj);
} }
@ -813,11 +813,11 @@ void tree_avl_postorder(struct _tree* self, struct _tree_node* root)
{ {
if(root->right != NULL) if(root->right != NULL)
{ {
tree_avl_postorder(self, root->right); tree_postorder(self, root->right);
} }
if(root->left != NULL) if(root->left != NULL)
{ {
tree_avl_postorder(self, root->left); tree_postorder(self, root->left);
} }
self->print_obj(root->obj); self->print_obj(root->obj);
} }
@ -885,7 +885,7 @@ void tree_avl_postorder(struct _tree* self, struct _tree_node* root)
} }
// traversal breadth // traversal breadth
void tree_avl_breadth(struct _tree* self, struct _tree_node* root) void tree_breadth(struct _tree* self, struct _tree_node* root)
{ {
assert(self != NULL); assert(self != NULL);
if(root == NULL) if(root == NULL)
@ -1030,12 +1030,12 @@ bool tree_avl_init(struct _tree *self, uint32_t obj_size)
self->empty = tree_empty; self->empty = tree_empty;
self->size = tree_size; self->size = tree_size;
self->destory = tree_destory; self->destory = tree_destory;
self->preorder = tree_avl_preorder; self->preorder = tree_preorder;
self->inorder = tree_avl_inorder; self->inorder = tree_inorder;
self->postorder = tree_avl_postorder; self->postorder = tree_postorder;
self->breadth = tree_avl_breadth; self->breadth = tree_breadth;
self->order = tree_order; self->order = tree_order;
self->find = tree_avl_find; self->find = tree_find;
self->height = tree_height; self->height = tree_height;
self->rebalance = tree_avl_rebalance; self->rebalance = tree_avl_rebalance;
self->find_max = tree_find_max; self->find_max = tree_find_max;
@ -1505,18 +1505,19 @@ bool tree_rb_init(struct _tree *self, uint32_t obj_size)
self->insert = tree_rb_insert; self->insert = tree_rb_insert;
self->delete = tree_rb_delete; self->delete = tree_rb_delete;
self->rebalance = tree_rb_rebalance;
self->clear = tree_clear; self->clear = tree_clear;
self->empty = tree_empty; self->empty = tree_empty;
self->size = tree_size; self->size = tree_size;
self->destory = tree_destory; self->destory = tree_destory;
self->preorder = tree_avl_preorder; self->preorder = tree_preorder;
self->inorder = tree_avl_inorder; self->inorder = tree_inorder;
self->postorder = tree_avl_postorder; self->postorder = tree_postorder;
self->breadth = tree_avl_breadth; self->breadth = tree_breadth;
self->order = tree_order; self->order = tree_order;
self->find = tree_avl_find; self->find = tree_find;
self->height = tree_height; self->height = tree_height;
self->rebalance = tree_rb_rebalance;
self->find_max = tree_find_max; self->find_max = tree_find_max;
self->find_min = tree_find_min; self->find_min = tree_find_min;
self->max = tree_max; self->max = tree_max;

View File

@ -445,7 +445,7 @@ void test_rbtree_struct(void)
void test_tree(void) void test_tree(void)
{ {
// test_avltree_num(); test_avltree_num();
// test_rbtree_num(); test_rbtree_num();
test_rbtree_struct(); test_rbtree_struct();
} }