19.09.2015 Views

Prentice.Hall.Introduction.to.Java.Programming,.Brief.Version.9th.(2014).[sharethefiles.com]

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Otherwise, y is red. In this case, adjust the nodes <strong>to</strong> make parent<br />

the child of y (lines 271–280). Invoke fixDoubleBlack with the<br />

adjusted nodes (line 285) <strong>to</strong> fix the double-black problem.<br />

<br />

The preorder(TreeNode root) method is overridden <strong>to</strong> display the node<br />

colors (lines 318-324).<br />

48.7 Testing the RBTree Class<br />

Listing 48.4 gives a test program. The program creates an RBTree<br />

initialized with an array of integers 34, 3, and 50 (lines 4–5), inserts<br />

elements in lines 10–22, and deletes elements in lines 25–46.<br />

Listing 48.4 TestRBTree.java<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

public class TestRBTree {<br />

public static void main(String[] args) {<br />

// Create an RB tree<br />

RBTree tree =<br />

new RBTree(new Integer[]{34, 3, 50});<br />

printTree(tree);<br />

tree.insert(20);<br />

printTree(tree);<br />

tree.insert(15);<br />

printTree(tree);<br />

tree.insert(16);<br />

printTree(tree);<br />

tree.insert(25);<br />

printTree(tree);<br />

tree.insert(27);<br />

printTree(tree);<br />

tree.delete(50);<br />

printTree(tree);<br />

tree.delete(20);<br />

printTree(tree);<br />

31

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!