public static void Main() { var node0 = new Node <int>(0); var node1 = new Node <int>(1); var node2 = new Node <int>(2); var node3 = new Node <int>(3); var node4 = new Node <int>(4); var node5 = new Node <int>(5); node5.AddNeighbours(node0); node5.AddNeighbours(node2); node4.AddNeighbours(node0); node4.AddNeighbours(node1); node2.AddNeighbours(node3); node3.AddNeighbours(node1); var list = new List <Node <int> >(); list.Add(node0); list.Add(node1); list.Add(node2); list.Add(node3); list.Add(node4); list.Add(node5); DFSGraph <int> g = new DFSGraph <int>(list); g.TopologicalSort(); /* * Following is a Topological Sort of the given graph * 5 4 2 3 1 0 */ Console.ReadLine(); }