public static void TestDirectInputTopologicalSort1() { var a = new Item("A"); var c = new Item("C"); var f = new Item("F"); var h = new Item("H"); var d = new Item("D", a); var g = new Item("G", f, h); var e = new Item("E", d, g); var b = new Item("B", c, e); //var unsorted = new[] { a, b, c, d, e, f, g, h }; var unsorted = new[] { a, c, f, h, d, g, e, b }; // to fit to topSort.txt file content var topSort = new TopologicalSort <Item>(unsorted); Console.WriteLine(String.Join(",", topSort.sorted.Select(x => x.Name))); Console.WriteLine(); }
public static void TestDirectInputTopologicalSort2() { var a = new Item("A"); var c = new Item("C"); var f = new Item("F"); var h = new Item("H"); //d - a var d = new Item("D", new Item("A")); //g - [f, h] var g = new Item("G", new Item("F"), new Item("H")); //e - [d[a]], [g[f,h]] var e = new Item("E", new Item("D", new Item("A")), new Item("G", new Item("F"), new Item("H"))); //b -[c, e[d[a]], g[f,h]] var b = new Item("B", new Item("C"), new Item("E", new Item("D", new Item("A")), new Item("G", new Item("F"), new Item("H")))); var unsorted = new[] { a, c, f, h, d, g, e, b }; // to fit to topSort.txt file content var topSort = new TopologicalSort <Item>(unsorted, new ItemEqualityComparer()); Console.WriteLine(String.Join(",", topSort.sorted.Select(x => x.Name))); Console.WriteLine(); }