

|
|
|

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. |