Source of 27.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: private BinaryNode<T> rotateRight(BinaryNode<T> nodeN)
  6: {
  7:    BinaryNode<T> nodeC = nodeN.getLeftChild();
  8:    nodeN.setLeftChild(nodeC.getRightChild());
  9:    nodeC.setRightChild(nodeN);
 10:    return nodeC;
 11: } // end rotateRight
 12: 
 13: // Corrects an imbalance at the node closest to a structural
 14: // change in the left subtree of the node's right child.
 15: // nodeN is a node, closest to the newly added leaf, at which
 16: // an imbalance occurs and that has a right child.
 17: private BinaryNode<T> rotateRightLeft(BinaryNode<T> nodeN)
 18: {
 19:    BinaryNode<T> nodeC = nodeN.getRightChild();
 20:    nodeN.setRightChild(rotateRight(nodeC));
 21:    return rotateLeft(nodeN);
 22: } // end rotateRightLeft
 23: // Version 4.0