10
如何按依赖性对依赖对象进行排序
我有一个收藏: List<VPair<Item, List<Item>> dependencyHierarchy; 成对的第一个项目是某个对象(项目),第二个项目是第一个项目所依赖的相同类型对象的集合。我想获得一个List<Item>依序排列的依存关系,因此没有依赖于第一个元素的项目,依此类推(没有循环依存关系!)。 输入: Item4取决于Item3和Item5 Item3取决于Item1 Item1不依赖任何一个 Item2取决于Item4 Item5不依赖于任何一个 结果: 项目1 项目5 项目3 项目4 项目2 谢谢。 解: 拓扑排序(感谢LoïcFévrier的想法) 和 例如在C#中,例如Java的 (感谢xcud伟大的例子)