Source of 28.9.java


  1: // Corrects an imbalance at the node closest to a structural
  2: // change in the left subtree of the node's left child.
  3: // nodeN is a node, closest to the newly added leaf, at which
  4: // an imbalance occurs and that has a left child.
  5: // @author Frank M. Carrano, Timothy M. Henry
  6: // @version 5.0
  7: private BinaryNode<T> rotateRight(BinaryNode<T> nodeN)
  8: {
  9:    BinaryNode<T> nodeC = nodeN.getLeftChild();
 10:    nodeN.setLeftChild(nodeC.getRightChild());
 11:    nodeC.setRightChild(nodeN);
 12:    return nodeC;
 13: } // end rotateRight

 15: // Corrects an imbalance at the node closest to a structural
 16: // change in the left subtree of the node's right child.
 17: // nodeN is a node, closest to the newly added leaf, at which
 18: // an imbalance occurs and that has a right child.
 19: private BinaryNode<T> rotateRightLeft(BinaryNode<T> nodeN)
 20: {
 21:    BinaryNode<T> nodeC = nodeN.getRightChild();
 22:    nodeN.setRightChild(rotateRight(nodeC));
 23:    return rotateLeft(nodeN);
 24: } // end rotateRightLeft