代码之家  ›  专栏  ›  技术社区  ›  Andrija

自下而上遍历文件夹树

  •  0
  • Andrija  · 技术社区  · 16 年前

    自下而上 使用C#/.NET 3.5

    例如:

    -0

    ---12
    --2


    ---23

    谢谢

    2 回复  |  直到 16 年前
        1
  •  2
  •   Robert Harvey    16 年前

    以通常的方式遍历树,并将包含每个节点和节点级别的对象添加到 IEnumerable

    public class DirectoryNode
    {
        public DirectoryInfo Dir { get; set; }
        public int Level { get; set; }
    }
    
    public IEnumerable<DirectoryNode> myNodes;
    

    然后,要得到你的名单,只需打电话给你的同事 I可数 OrderByDescending linq扩展方法,如下所示:

    var result = myNodes.OrderByDescending(node => node.Level);
    
        2
  •  0
  •   yfeldblum    16 年前

    您需要每个节点的深度,并且需要在开始遍历树之前找到所有节点的最大深度。因此,您需要按前序、中序或后序遍历所有节点,找到它们的深度,然后按深度的相反顺序再次遍历整个树。