日期:2014-05-20  浏览次数:20663 次

求助啊,十万火急的面试题,关于FOR循环,高手帮帮忙,谢谢
有如下结构的数据,写一个循环,输出此数据的树形结构定义。

ID PARENT_ID NAME
-------------------
1 0 A
2 1 B
3 1 C
4 2 D
5 3 E
6 5 F
7 0 G
8 7 H
9 3 I


效果如下:
1-----------A
-------2-----------B
--------------4-----------D
-------3-----------C
-------------- 5-----------E
---------------------6-----------F
--------------9-----------I
7-----------G
-------8-----------H


------解决方案--------------------
用递归吧
Java code
    static List<String[]>  list=new ArrayList<String[]>();
    static {
        list.add(new String[]{"1","0","A"});
        list.add(new String[]{"2","1","B"});
        list.add(new String[]{"3","1","C"});
        list.add(new String[]{"4","2","D"});
        list.add(new String[]{"5","3","E"});
        list.add(new String[]{"6","5","F"});
        list.add(new String[]{"7","0","G"});
        list.add(new String[]{"8","7","H"});
        list.add(new String[]{"9","3","I"});
    }
    public static void test(String n,int lvl){
        String p="";
        for(int i=1;i<lvl;i++){
            p+="---";
        }
        for(String[] d:list){
            if(d[1].equals(n)){
                System.out.println(p+d[0]+"--"+d[2]);
                test(d[0],(lvl+1));
            }
        }
    }
    public static void main(String[] args) {
        test("0",1);
    }