如何按依赖性对依赖对象进行排序

我有一个:

List<VPair<Item, List<Item>> dependencyHierarchy;

成对的第一个项目是某个对象(项目),第二个项目是第一个项目所依赖的相同类型对象的集合。我想获得一个List<Item>依序排列的依存关系,因此没有依赖于第一个元素的项目,依此类推(没有循环依存关系!)。

输入:

Item4取决于Item3和Item5

Item3取决于Item1

Item1不依赖任何一个

Item2取决于Item4

Item5不依赖任何一个

结果:

项目1

项目5

项目3

项目4

项目2

谢谢。

回答:

使用拓扑排序的完美示例:

http://en.wikipedia.org/wiki/Topological_sorting

它会为您提供所需的确切信息。

以上是 如何按依赖性对依赖对象进行排序 的全部内容, 来源链接: utcz.com/qa/409829.html

回到顶部