Ho una collezione:oggetti come ordinare dipendeva da dipendere
List<VPair<Item, List<Item>> dependencyHierarchy;
Il primo elemento nella coppia è un oggetto (oggetto) e la seconda è una raccolta dello stesso tipo di oggetti che la prima dipende sopra. Voglio ottenere un List<Item>
in ordine di dipendenza, quindi non ci sono elementi che dipendono dal primo elemento e così via (nessuna dipendenza ciclica!).
ingresso:
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
Risultato:
Item1 Item5 Item3 Item4 Item2
Grazie.
SOLUZIONE:
topologico Assortimento (grazie a Loïc Février per idea)
e
example on C#, example on Java (grazie a xcud per grandi esempi)
trovato un C# impl di tsort: http://tawani.blogspot.com/2009/02/topological-sorting-and-cyclic.html – xcud