Method: Containers::CBst#delete

Defined in:
ext/containers/bst/bst.c

#delete(key) ⇒ Object



215
216
217
218
219
220
221
222
223
224
# File 'ext/containers/bst/bst.c', line 215

static VALUE rb_bst_delete(VALUE self, VALUE key) {
  bst *tree = get_bst_from_self(self);
  bst_node *tobeDeleted = search_node(tree, tree->root, key);
  if(tobeDeleted) { 
    tree->size -= 1;
    bst_node *deletedNode = delete_node(&(tree->root),tobeDeleted);
    return deletedNode->value;
  }
  return Qnil;
}