private void BellmanFord(object sender, RoutedEventArgs e) { var dialog = new Dijkstra(); dialog.ShowDialog(); int startNode = dialog.StartNode - 1; int endNode = dialog.EndNode - 1; List <int> path = Directed.BellmanFord(Graph, startNode, endNode); string message = "Znaleziona sciezka : " + Environment.NewLine; if (path != null) { path.ForEach(n => message += (n + 1) + " "); } else { message = "Nie znaleziono sciezki"; } MessageBox.Show(message); }
private void BellmanFordStart(object sender, RoutedEventArgs e) { var dialog = new Dijkstra(true); dialog.ShowDialog(); int startNode = dialog.StartNode - 1; string message = ""; for (int i = 0; i < Graph.NodesNr; ++i) { if (i == startNode) { continue; } List <int> path = Directed.BellmanFord(Graph, startNode, i); message += string.Format("Node {0} : ", i + 1); if (path != null) { path.ForEach(n => message += (n + 1) + " "); } else { message += "brak sciezki"; } message += Environment.NewLine; } MessageBox.Show(message); }
private void CalculateDijkstra(object sender, RoutedEventArgs e) { var dialog = new Dijkstra(); dialog.ShowDialog(); int startNode = dialog.StartNode - 1; int endNode = dialog.EndNode - 1; List <int> path = PathFinding.Dijkstra(Graph, startNode, endNode); string message = "Znaleziona sciezka : " + Environment.NewLine; path.ForEach(n => message += (n + 1) + " "); MessageBox.Show(message); }