问题描述
根据给出的文件路径,遍历该路径下的所有文件夹和文件,并打印出文件名。
要求:
第一行打印在所给路径的下一级的所有文件
第二行打印再下一级的文件,依次类推
如硬盘目录如下:
d:/a.txt
d:/b.txt
d:/da/da.txt
d:/da/ce/ce.txt
d:/fg/fg.txt
则输出:
a.txt b.txt
[da] [fg]
da.txt ce.txt fg.txt
问题分析
1、这是一个典型的多叉树广度优先遍历问题,按照广度遍历二叉树的算法解决
2、由于要求每一级别目录或文件打印在不同的行,所以需要在对列增加一个挡板(标记)来区分遍历的是第几层目录
3、广度遍历二叉树算法如下:
(1)初始化一个队列,将根节点加入队列
(2)当队列非空时,重复执行步骤(3)到(5),否则执行(6)
(3)从队列取出一个节点,访问该节点
(4)若该节点左子树为空,则将左节点加入队列
(5)若该节点右子树为空,则将右节点加入队列
(6)结束
4、因为目录结构相当于多叉树,所以步骤(3)到(5)修改为遍历每个子节点
5、当第一节点遍历子节点时,向队列加入挡板标示,区分换行输出
分享到:
相关推荐
邻接表深度遍历和广度遍历 邻接表深度遍历和广度遍历 邻接表深度遍历和广度遍历 邻接表深度遍历和广度遍历
自己写的,里面包含一个线程类,和一个遍历目录的类
图形是以邻接多重表的结构存储,分别进行深度遍历和广度遍历此树,并输出深度遍历生成树和广度遍历生成树。
图的深度与广度遍历实验报告 数据结构实验!
任意图的深度遍历、广度遍历基本操作,数据结构基本实验。
深度遍历和广度遍历生成树,C++实现,可直接运行。
分别有优先深度和优先广度遍历树,并输出遍历的定点表
c语言编写的邻接矩阵用深度遍历和广度遍历实现
图的深度遍历和广度遍历是两个重要的算法,这也是我们理解并掌握图这一数据结构的基础。通过此程序算法可以进一步掌握图的构造以及遍历的相关知识。
C语言课程实验报告,图的深度遍历与广度遍历程序源代码,在Visual C++ 6.0上已经通过
数据结构中的图结构,其中最重要的两个遍历算法——深度优先遍历与广度优先遍历
数据结构C语言版里的图广度遍历算法实现,代码里有详细注释
图的深度和广度遍历
邻接矩阵表示法深度遍历和广度遍历 邻接矩阵表示法深度遍历和广度遍历 邻接矩阵表示法深度遍历和广度遍历 邻接矩阵表示法深度遍历和广度遍历
众所周知,深度遍历的递归调用已经普遍,而广度遍历的递归调用较为麻烦。 但是我们老师布置了一道创新题目,让我们实现广度遍历的递归调用。 以下就是我使用递归的思想进行广度遍历。
本演示程序用Visual C++编写,从键盘输入,以用户指定的结点为起点,实现无向图广度遍历,并打印输出广度遍历结点访问顺序。 1、输入的形式和输入值的范围:非负整数。 2、输入顶点的数量限制:最大40个 3、输出...
图 深度遍历 广度遍历 图 深度遍历 广度遍历
图的遍历---深度和广度 图的遍历---深度和广度 图的遍历---深度和广度 图的遍历---深度和广度 图的遍历---深度和广度 图的遍历---深度和广度 图的遍历---深度和广度
图的深度和广度两种遍历方式,完整的程序,先选择深度广度遍历方式,输入顶点信息和边的信息,再选择从某个顶点开始遍历,完整源代码和课程设计报告
pptjoin 深度遍历 广度遍历