Source of 26.39.java


  1: // @author Frank M. Carrano, Timothy M. Henry
  2: // @version 5.0
  3: private void removeNode(BinaryNode<T> nodeToRemove, BinaryNode<T> parentNode)
  4: {
  5:    BinaryNode<T> childNode;

  7:    if (nodeToRemove.hasLeftChild())
  8:       childNode = nodeToRemove.getLeftChild();
  9:    else
 10:       childNode = nodeToRemove.getRightChild();

 12:    // Assertion: if nodeToRemove is a leaf, childNode is null

 14:    if (nodeToRemove == getRootNode())
 15:       setRootNode(childNode);
 16:    else if (parentNode.getLeftChild() == nodeToRemove)
 17:       parentNode.setLeftChild(childNode);
 18:    else
 19:       parentNode.setRightChild(childNode);
 20: } // end removeNode