题目:如何实现打印出目录中的所有文本文件(先规定查找.txt文件,便于实现)呢?
解读:一个目录(文件夹中)可能有文本文件,也可能有其他文件夹;查询到的是文件夹则要继续向下探索直到找到文本文件。所以我们要运用遍历(要查询目录下的所有文件)和递归(简化重复性的工作)的思想。
我们先构造一个文件目录:
代码实现:
运行结果:
算法解释:
从根目录开始,构造了数组A,并开始遍历;因为数组A的元素0也是一个文件夹,所以继续在此元素上构造数组a,开始继续遍历。当数组a中的元素全部遍历打印完之后,开始返回上一层去继续遍历数组A的其余元素。所以该程序会从根目录开始,当遇到文件夹就会一直进入到其中直到遇到文件,然后再返回当上一层。递归程序是一层一层向下执行,在从底部一层一层返回到程序入口的。