import java.util.Arrays;
class Link{
private class Node{
private Node right;
private Node left;
private Comparable data;
public Node(Comparable data){
this.data=data;
}
public void addNode(Node node){
if(this.data.compareTo(node.data)<0){
if(this.right==null){
this.right=node;
}else{
this.right.addNode(node);
}
}else{
if(this.left==null){
this.left=node;
}else{
this.left.addNode(node);
}
}
}
public void toArrayNode(){
if(this.left!=null){
this.left.toArrayNode();
}
Link.this.reData[Link.this.foot++]=this.data;
if(this.right!=null){
this.right.toArrayNode();
}
}
}
private Node root;
private int count;
private int foot;
private Object []reData;
public void add(Object data){
if(data==null){
return;
}
Node node=new Node((Comparable<Man>)data);
if(this.root==null){
this.root=node;
}else{
this.root.addNode(node);
}count++;
}
public Object[]toArray(){
if(this.root==null){
return null;
}
this.foot=0;
this.reData=new Object[this.count];
this.root.toArrayNode();
return this.reData;
}
}
interface Student{
public String getName();
public int getAge();
}
class Person{
Link l=new Link();
public void add(Student stu){
this.l.add(stu);
}
public Link toArray(){
return this.l;
}
}
class Man implements Student,Comparable<Man>{
private int age;
private String name;
public Man(String name,int age){
this.name=name;
this.age=age;
}
public int compareTo(Man o) {
if(this.age>o.age){
return 1;
}else if(this.age<o.age){
return -1;
}else{
return 0;
}
}
@Override
public String getName() {
return this.name;
}
@Override
public int getAge() {
return this.age;
}
public String toString(){
return this.name+" "+this.age+"\n";
}
}
public class test1 {
public static void main(String[] args) {
Link link=new Link();
int []data=new int[]{
2,4,6,8,5,3,7
};
for(int x=0;x<data.length;x++){
link.add(data[x]);
}
System.out.println(Arrays.toString(link.toArray()));
Person per=new Person();
per.add(new Man("zhansan",40));
per.add(new Man("zhansan",30));
per.add(new Man("zhansan",20));
Link link1=per.toArray();
System.out.println(Arrays.toString(link1.toArray()));
}
}