mirror of
https://gitee.com/apaki/unicstl.git
synced 2025-05-18 03:51:35 +08:00
_rebalance作为私有函数
This commit is contained in:
parent
59e5c9be71
commit
7a7af3152a
@ -79,7 +79,7 @@ struct _tree
|
|||||||
|
|
||||||
struct _iterator _iter;
|
struct _iterator _iter;
|
||||||
|
|
||||||
bool (*rebalance)(struct _tree* self, struct _tree_node* root);
|
bool (*_rebalance)(struct _tree* self, struct _tree_node* root);
|
||||||
void (*_destory)(struct _tree* self);
|
void (*_destory)(struct _tree* self);
|
||||||
|
|
||||||
// -------------------- public --------------------
|
// -------------------- public --------------------
|
||||||
|
10
src/tree.c
10
src/tree.c
@ -503,7 +503,7 @@ static bool tree_avl_insert(struct _tree* self, void* obj)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
self->rebalance(self, root);
|
self->_rebalance(self, root);
|
||||||
}
|
}
|
||||||
self->_size++;
|
self->_size++;
|
||||||
return true;
|
return true;
|
||||||
@ -568,7 +568,7 @@ static bool tree_avl_delete_single_child(struct _tree* self, struct _tree_node*
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
self->rebalance(self, node->parent);
|
self->_rebalance(self, node->parent);
|
||||||
}
|
}
|
||||||
tree_node_free(node);
|
tree_node_free(node);
|
||||||
return true;
|
return true;
|
||||||
@ -834,7 +834,7 @@ static bool tree_rb_insert(struct _tree* self, void* obj)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
self->rebalance(self, node);
|
self->_rebalance(self, node);
|
||||||
|
|
||||||
self->_size++;
|
self->_size++;
|
||||||
return true;
|
return true;
|
||||||
@ -1468,13 +1468,13 @@ static bool tree_avl_init(struct _tree* self, uint32_t obj_size)
|
|||||||
self->_iter.hasnext = tree_iter_hasnext;
|
self->_iter.hasnext = tree_iter_hasnext;
|
||||||
self->_iter.next = tree_iter_next;
|
self->_iter.next = tree_iter_next;
|
||||||
|
|
||||||
|
self->_rebalance = tree_avl_rebalance;
|
||||||
self->_destory = tree_destory;
|
self->_destory = tree_destory;
|
||||||
|
|
||||||
// -------------------- public --------------------
|
// -------------------- public --------------------
|
||||||
// kernel
|
// kernel
|
||||||
self->insert = tree_avl_insert;
|
self->insert = tree_avl_insert;
|
||||||
self->delete = tree_avl_delete;
|
self->delete = tree_avl_delete;
|
||||||
self->rebalance = tree_avl_rebalance;
|
|
||||||
self->height = tree_height;
|
self->height = tree_height;
|
||||||
|
|
||||||
// base
|
// base
|
||||||
@ -1522,13 +1522,13 @@ static bool tree_rb_init(struct _tree* self, uint32_t obj_size)
|
|||||||
self->_iter.hasnext = tree_iter_hasnext;
|
self->_iter.hasnext = tree_iter_hasnext;
|
||||||
self->_iter.next = tree_iter_next;
|
self->_iter.next = tree_iter_next;
|
||||||
|
|
||||||
|
self->_rebalance = tree_rb_rebalance;
|
||||||
self->_destory = tree_destory;
|
self->_destory = tree_destory;
|
||||||
|
|
||||||
// -------------------- public --------------------
|
// -------------------- public --------------------
|
||||||
// kernel
|
// kernel
|
||||||
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->height = tree_height;
|
self->height = tree_height;
|
||||||
|
|
||||||
// base
|
// base
|
||||||
|
Loading…
Reference in New Issue
Block a user