Data Structure Final Homework

profileSiper
MyTree.java

package tree; import java.util.ArrayDeque; import java.util.Queue; import java.util.Random; public class MyTree { class TNode { int value; TNode left; TNode right; TNode(int v) { value = v; left = null; right = null; } } TNode root; public MyTree() { root = null; } public void addNode(int v) { root = addNode(v, root); } private TNode addNode(int v, TNode n) { TNode newNode = new TNode(v); if(n == null) { n = newNode; } else if( n.value > v) { n.left = addNode(v, n.left); } else if ( n.value < v){ n.right = addNode(v, n.right); } return n; } public void print() { print(root); } public void printByLevel() { //add your code } private void print(TNode n) { if( n == null ) { return; } else { print(n.left); System.out.println(n.value); print(n.right); } } public static void main(String[] arg) { MyTree tree = new MyTree(); Random rand = new Random(); rand.setSeed(System.currentTimeMillis()); for( int i = 0; i < 10; i++) { int a = rand.nextInt(100); System.out.println(a); tree.addNode(a); } System.out.println("======================"); tree.print(); System.out.println("======================"); tree.printByLevel(); } }