有如下字段
ID 125 AA U_ID 236
ID 236 BB U_ID 456
ID 456 CC U_ID 0
不知道大家看的懂吗  ID 125为AA自己的ID号 U_ID236为对应的ID 然后就对应到 BB了 通过BB的U_ID就得到CC了 CC为0 就把CC打印出来
着是不是二叉树做的啊  麻烦大家给我点代码例子把 高手把代码写一下把  我真做不来

解决方案 »

  1.   

    u_id如果唯一,这不是单链条么,用个HashMap就能实现,很简单,不过估计楼主要的不是这种效果吧,所以: 
    问楼主:一条记录的U_ID是不是唯一的?
      

  2.   

    哎呀!! 着为朋友问的好 我也没注意,不过我想着个U_id应该是唯一的,不知道老板出着个问题是考我什么 反正就着个意思 还是想请大家帮忙了 知道的写代码让我看下把麻烦大家了
      

  3.   

    package others;
    import java.util.*;class People{
    String ID="0";
    String Name="0";
    String UID="0";
    public People(String id,String name,String uid){
    ID=id;
    Name=name;
    UID=uid;
    }
    public String toString(){
    return this.Name;
    }
    }public class IDLinker { /**
     * @param args
     */

    public static void main(String[] args) {
    // TODO Auto-generated method stub
    //这是数据输入,具体情况具体改变输入方式,为求简便,我就直接用数组定义了
    People[] peoples={
      new People("125","AA","236"),
      new People("236","BB","456"),
      new People("456","CC","0"),
      new People("122","DD","236"),
      new People("123","EE","122"),
      new People("124","FF","999"),
      new People("125","GG","0")
      };
    HashMap<String,People> hp=new HashMap<String,People>();
    for(int i=0;i<peoples.length;i++)
    if(hp.containsKey(peoples[i].ID))
    System.out.println("ID"+peoples[i].ID+"重复,忽略掉..");
    else hp.put(peoples[i].ID,peoples[i]);
    //这里定义了起始项,可以根据其他条件改变如改成System.in.read();
    String startID="123";
    System.out.println("链首: "+(People)hp.get(startID));
    String nextID=((People)hp.get(startID)).UID;
    String contentID=startID;
    while(nextID!=null&&!nextID.equals("0"))
    if(hp.containsKey(nextID)){
    contentID=nextID;
        nextID=((People)hp.get(nextID)).UID;
    }
    else {
    System.out.println("找不到后继项");
    nextID=null;
    }
        if(nextID!=null)System.out.println("找到链尾:"+(People)(hp.get(contentID)));
    }}
    ====
    另:如果UID允许重复,那就是树,
    如果ID也能重复,那就是图了,这两个实现起来就比较麻烦点