static void TreeDestHelper(rb_red_blk_tree* tree, rb_red_blk_node* x) {
  rb_red_blk_node* nil=tree->nil;
  if (x != nil) {
    TreeDestHelper(tree,x->left);
    TreeDestHelper(tree,x->right);
    tree->key_dtor_func(x->key);
    tree->info_dtor_func(x->info);
    free(x);
  }
}
Esempio n. 2
0
void TreeDestHelper(rb_red_blk_tree* tree, rb_red_blk_node* x) {
	rb_red_blk_node* nil=tree->nil;
	if (x != nil) {
		TreeDestHelper(tree,x->left);
		TreeDestHelper(tree,x->right);
		tree->DestroyKey(x->key);
		tree->DestroyInfo(x->info);
		free(x);
	}
}
Esempio n. 3
0
static void
TreeDestHelper (RBTREE tree, RBNODE x)
{
  RBNODE nil=tree->nil;
  if (x != nil) {
    TreeDestHelper(tree,x->left);
    TreeDestHelper(tree,x->right);
    TreeDestroyKeyInfo(tree, x->key, x->info);
    free(x);
  }
}
Esempio n. 4
0
void
RbTreeDestroy (RBTREE tree)
{
  TreeDestHelper(tree,tree->root->left);
  free(tree->root);
  free(tree->nil);
  free(tree);
}
void rb_tree_destroy(rb_red_blk_tree* tree) {
  TreeDestHelper(tree,tree->root->left);
  free(tree->root);
  free(tree->nil);
  free(tree);
}
Esempio n. 6
0
void RBTreeDestroy(rb_red_blk_tree* tree) {
  TreeDestHelper(tree,tree->root->left);
  my_free(tree->root);
  my_free(tree->nil);
  my_free(tree);
}