que tienen una colección:objetos Cómo ordenar dependido de la dependencia
List<VPair<Item, List<Item>> dependencyHierarchy;
El primer elemento de par es un objeto (elemento) y la segunda es una colección del mismo tipo de objetos que el primero depende en. Quiero obtener un List<Item>
en orden de dependencia, por lo que no hay elementos que dependan del primer elemento y así sucesivamente (¡no hay dependencia de ciclo!).
de entrada:
Item4 depends on Item3 and Item5 Item3 depends on Item1 Item1 does not depend on any one Item2 depends on Item4 Item5 does not depend on any one
Resultado:
Item1 Item5 Item3 Item4 Item2
Gracias.
Solución:
topológica Clasificación (gracias a Loïc Février para IDEA)
y
example on C#, example on Java (gracias a xcud para grandes ejemplos)
encontró una C# impl de tsort: http://tawani.blogspot.com/2009/02/topological-sorting-and-cyclic.html – xcud