数据库表中有如下记录:1 -1
7 1
8 7
9 8
10 8
11 8
12 7
13 7
14 1
17 1
18 7
我想用java递归实现如下输出结果:
1 -1
7 1
8 7
12 7
13 7
18 7
9 8
10 8
11 8
14 1
17 1这个递归函数怎么写?谢谢
7 1
8 7
9 8
10 8
11 8
12 7
13 7
14 1
17 1
18 7
我想用java递归实现如下输出结果:
1 -1
7 1
8 7
12 7
13 7
18 7
9 8
10 8
11 8
14 1
17 1这个递归函数怎么写?谢谢
解决方案 »
- 安装jbuilder注册出错?-高人指点
- 查找一个字符串中字符出现次数,解决马上给分
- java excel api 问题
- Jpanel放大缩小的问题
- 八个J2EE的高级群,按层次划分,共享教程代码,期待各位朋友加入(需考试)
- 问个关于Applet中用Timer的问题
- 为什么用servlet读入一个HTML文件后再显示出来时确没有了格式?
- 请问使用SequenceInputStream顺序流类是否可以把2个或者多个InputStream连接起来当做一个流使用呢..如果可以请问如何实现
- 用htmlconverter转化后还是不能看到applet!! (100分)
- 寻求java程序员和IBM大机人员,可以到新加坡工作.有意者请致函[email protected]
- 这个方法为什么会提示返回类型出错
- 一个较简单的问题!
觉得你直接用for就可以了
7 1
8 7
9 8
10 8
11 8
12 7
13 7
14 1
17 1
18 7
我想要用递归实现如下输出结果:
1 -1
7 1
8 7
9 8
10 8
11 8
12 7
13 7
18 7
14 1
17 1
按ID从小到大的顺序输出来,有叶子节点的,也要把叶子节点按ID从小到大的顺序输出来
SELECT * FROM T_TABLE_NAME T START BY T.PID=-1 CONNECT BY T.PID=T.ID
还不行的话就上百度上搜一下
'这句话还是不明白,到底是怎么样的顺序。比如,相同层的要按照ID从小到大的顺序。
我给你提供一个基本的算法.public class out {
public void outTree(node tree){
if(tree!=null){
outTree(tree.lefttree);
System.out.println(tree.ID);
System.out.println(tree.PID);
outTree(tree.righttree);
}
}}class node{
public int ID;
public int PID;
node lefttree;
node righttree;
}调用outTree(根节点)就行了
至于node类你自己去完成吧.应该知道左子树与右子树的概念吧
for(Iterator it=list.iterator();it.hasNext();){
OrganizeVO org = (OrganizeVO)it.next();
if(rootOrgCode.equals(org.getParentCode())){
returnList.add(org);
sortList(list,returnList,org.getCode());
}
}
return returnList;
}
以前写的,效率不明。