The following code implements the two-fork tree storage, lookup, traversal (preface, middle order, sequential)
Package cn.itcast;
public class Node {public int value;
Public Node left;
public Node right;
public void Store (int value) {if (value < This.value) {if (left = null) {left = new Node ();
Left.value = value;
} else{Left.store (value);
} else{if (right = = null) {right = new Node ();
Right.value = value;
} else{Right.store (value);
}} public Boolean find (int value) {System.out.println (' find: ' +this.value);
if (value = = This.value) return true;
else if (value < This.value) {if (left = null) return false;
return Left.find (value);
else {if (right = = null) return false;
return Right.find (value);
} public void Prelist () {System.out.print (this.value+ ",");
if (left!= null) left.prelist ();
if (right!= null) right.prelist ();
public void Middlelist () {if (left!= null) left.middlelist ();
System.out.print (This.value + ","); if (right!= null) right.middlelist ();
public void Afterlist () {if (left!= null) left.afterlist ();
if (right!=null) right.afterlist ();
System.out.print (This.value + ",");
public static void Main (string[] args) {int[] data = new INT[20];
for (int i = 0;i<data.length;i++) {data[i]= (int) (Math.random () *100) +1;
System.out.print (data[i]+ ",");
} System.out.println ();
Node root = new node ();
Root.value = data[0];
for (int i = 1;i<data.length;i++) {root.store (data[i]);
} root.find (data[19]);
System.out.println ();
Root.prelist ();
System.out.println ();
Root.middlelist ();
System.out.println ();
Root.afterlist ();
}
}