用java实现树的遍历 不是二叉树
发布网友
发布时间:2022-04-25 21:00
我来回答
共2个回答
热心网友
时间:2022-05-07 21:16
不写代码 只给思路 :广度优先遍历
1。建一个队列(先进先出),把树的根节点压入队列
2。从队列中弹出一个节点(第一次弹出的就是根节点),把该节点的所有子节点压入队列,如果没有子节点,说明已经到达叶子节点了
3。重复第二步,直到队列为空,说明所有的叶子节点都已经经过了队列,也就完成了遍历
热心网友
时间:2022-05-07 22:34
import java.io.*;
public class Test{
public static void main(String[] args){
File f=new File("f:/");
tree(f,0);
}
private static void tree(File f,int lev){
String ss="-";
for(int j=0;j<lev;j++){
ss+="----";
}
File[] childs=f.listFiles();
for(int i=0;i<childs.length;i++){
System.out.println(ss+childs[i].getName());
//System.out.println("ss");
if(childs[i].isDirectory()){
tree(childs[i],lev+1);
System.out.print("+");
}
}
}
}