package java_01;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class Node {
public Node left;
public Node rigth;
public Object value;
public void add(Object v) {
if (null==value) {
value=v;
}else {
if ((int) v - ((int)value) <=0) {
if(null==left) {
left=new Node();
left.add(v);
}
else {
left.add(v);
}
}else {
if(null==rigth) {
rigth=new Node();
rigth.add(v);
}else {
rigth.add(v);
}
}
}
}
public List<Object> values() {
List<Object> values = new ArrayList<>();
// 左节点的遍历结果
if (null != left)
values.addAll(left.values());
// 当前节点
values.add(value);
// 右节点的遍历结果
if (null != rigth)
values.addAll(rigth.values());
return values;
}
public static void main(String[] args) {
int randoms [ ]=new int[10];
for(int i=0;i<randoms.length;i++){
int max=1000;
int min=100;
randoms[i] = new Random().nextInt(max)%(max-min+1) + min;
System.out.print(randoms[i]+" ");
}
System.out.println();
Node node = new Node();
for (int i : randoms) {
node.add(i);
}
System.out.println(node.values());
}
}