

| 
 
 |  | 

bool member(T e, node root)
  if root = nil, return false
  if root.data = e, return true
  if e < root.data
    return member(e, root.left)
  return member(e, root.right)
node * add(T e, node * root)
  if root = nil
    root = new node(data, nil, nil)
  or e < root.data
    root.left = add(e, root.left)
  or
    root.right = add(e, root.right)
  return root


Node remove(V v, Node root)
 if (root != null)
   if v < root.value
    root.left = remove(v, root.left)
   else if root.value < v
    root.right = remove(v, root.right)
   else
    if root.left != null
     root.left, root.value = extractMax(root.left)
    else if root.right != null
     root.right, root.value = extractMin(root.right)
    else
     root = null
 return root

| This page last modified on 2010 November 16. |