gpt4 book ai didi

c# - 按依赖关系排序列表

转载 作者:太空宇宙 更新时间:2023-11-03 10:50:28 24 4
gpt4 key购买 nike

<分区>

给定以下列表:

var modules = new List<Module>() {
new Module() { Name = "Audits", Dependencies = new[] { "Logs" } },
new Module() { Name = "Blog", Dependencies = new[] { "Content", "Tags" } },
new Module() { Name = "Content", Dependencies = new[] { "Audits" } },
new Module() { Name = "Logs" },
new Module() { Name = "Tags" }
};

我需要创建一种方法来以编程方式对该列表进行排序,以便最可靠的模块位于顶部。因此,使用上述示例所需的顺序将是:

  1. 日志
  2. 审计
  3. 内容
  4. 标签
  5. 博客

由于“Content”依赖于“Audits”,因此“Audits”首先出现。但由于“审计”依赖于“日志”,因此“日志”高于“审计”等等。 “博客”出现在最后,因为它依赖于“内容”和“标签”,因此它们排在前面。

我希望我已经足够清楚地描述了我的问题。我确信有一些聪明的算法可以处理这个问题并使其尽可能高效,但到目前为止它已经暗示了我。如果有人能指出正确的方向,我将不胜感激。

谢谢

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com