java的栈实现目录的遍历

lz12366007 2009-04-08 05:16:46
在群里有人问 用java的栈实现对目录的遍历
用递归也可以实现的
哪位高手给提供下代码吧!
最好把java的堆栈使用方法也说下吧
...全文
240 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
gufanyi 2009-04-09
  • 打赏
  • 举报
回复
import java.io.*
class FileList{
public static void main(String args[]){
File file=new File("d:\test");
listChildrens(file,0);

}
public static void listChilerens(File file,int level){
String preStr="";
for(int i=0;i<level;i++){
preStr+=preStr+" ";
}
System.out.pritnln(preStr+file.getName());
if(file.isDirectory){
for(int i=0; i<childs.length; i++) {
listChildrens(childs[i], level + 1);
}
}
else return;
}


}
lz12366007 2009-04-09
  • 打赏
  • 举报
回复
这是用递归做的吧!能用栈写出吗??
lookupwtd 2009-04-09
  • 打赏
  • 举报
回复
代码就不写了,告诉你运行机制就行了
递归其实就是用的栈
只不过在栈中定义了局部变量
一般和树连用,如果你学习的话用2叉树。
遍历时可以根据你的需要判断是够是先子节点再本节点


1.创建栈
2.将该目录压入栈
3.while 栈不为空
4.弹出一个目录
5.将该目录的所有子目录压入栈
6.如果在要进行处理的话就进行处理(如果需要的话还可以将弹出的目录再压入栈,但注意不要造成死循环,所以一般不再压入)
7.end while

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧