private void findNegativeCycle(EdgeWeightedDigraph G)
	{
		// Create a Digraph from edgeTo[]
		Digraph spt = new Digraph(G.V());
		try
		{
			for (int v = 0; v < G.V(); v++)
				if (vertex[v].edgeTo != null)
					spt.addEdge(vertex[v].edgeTo.from(), vertex[v].edgeTo.to());
		}
		catch (Exception e)
		{
			System.out.println(e);
			System.exit(1);
		}

		DirectedCycle cycle = new DirectedCycle(spt);
		if (cycle.hasCycle())
			negativeCycle = cycle.cycle();
	}