【问题标题】:How can i loop through A folder tree to generate a folder path?如何循环遍历文件夹树以生成文件夹路径?
【发布时间】:2016-03-10 14:22:00
【问题描述】:

我有这个树形结构。

FolderTree

如何从中生成文件夹路径;

类似:folder1/chilfolder1/childfolder2/childfolder3

对树中的所有文件夹执行此操作 :)

【问题讨论】:

标签: java c# json loops


【解决方案1】:

您称为 filesfolders 的对象只是 JSON 序列化对象中的对象。所以,如果你想制作URIs(唯一资源标识符),你应该分析这些数据并逐个节点进入对象,添加一个\(路径分隔符)和一个String值当前节点名称。

【讨论】:

    【解决方案2】:

    最简单的方法是使用众所周知的深度优先搜索算法。考虑以下 c# 伪代码:

    class Node {
       public string Name;
       public IEnumerbale<Node> Children;
    }
    
    void Main(){
       var tree = new List<Node>();//fill it somehow
       foreach(var node in tree){
          DFS(node);
       }
    }
    
    void DFS(Node root){
       foreach(var node in root.Children){
          node.Name = root.Name + '/' + node.Name;
          DFS(node);
       }  
    }
    

    运行此代码后,您将获得存储在每个 NodeName 属性中的全名

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-11
      • 2021-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多