使用预订后订单和InOrder以递归方式搜索目录中的文件

时间:2013-02-16 20:48:41

标签: java tree

当我编写代码以递归方式搜索目录中的文件时,例如我应用以下方法:

public void list(File file) {
    System.out.println(file.getName());
    File[] children = file.listFiles();
    for (File child : children) {
        list(child);
    }
}

如果我需要在预购,有序和后期遍历中显示,我该怎么办?

我无法通过此文件搜索关联树遍历。

2 个答案:

答案 0 :(得分:1)

您的代码处于预订状态,因为在子代之前处理(打印)了父代码。如果您在循环之后将打印移动到,则它将是后期订单。在这种情况下,顺序不会太有意义。如果您有一个二叉树,那么如果您处理了处理每个子节点的父节点,那就是它。

答案 1 :(得分:0)

您正在做的是预订遍历。

这是订单后的遍历:

public void list(File file) { 
    if(file == null)return;  
    File[] children = file.listFiles();
    for (File child : children) {
        list(child);
    }
   System.out.println(file.getName());
}

有序遍历没有一般树的自然定义