private void Visualize_Click(object sender, EventArgs e) { kruskalTextLabel.Text = ""; ParseResults parsedResult = KruskalTextParser.ParseText(kruskalTextBox.Text); points = new Point[parsedResult.numberOfVertices]; if (parsedResult.numberOfVertices > 0) { double angle = 360 / parsedResult.numberOfVertices; points[0] = new Point(60, anchor.Y); for (int i = 1; i < parsedResult.numberOfVertices; i++) { points[i] = RotatePoint(points[0], anchor, angle * i); } } allEdges = parsedResult.allEdges; try { Graph graph = new Graph(parsedResult.numberOfVertices); foreach (Edge edge in allEdges) { graph.AddEdge(edge.from, edge.to, edge.weight); } kruskalEdges = KruskalNode.Kruskal(graph); foreach (Edge edge in kruskalEdges) { kruskalTextLabel.Text += "" + edge.from + " -> " + edge.to + " = " + edge.weight + "\n"; } } catch { kruskalTextLabel.Text = "Couldn't execute Kruskal algorithm."; } panel1.Invalidate(); }
private void LoadButton3_Click(object sender, EventArgs e) { kruskalTextBox.Text = KruskalTextParser.LoadFileText(Constants.FILE_PATH_3); }
private void SaveButton3_Click(object sender, EventArgs e) { KruskalTextParser.SaveFileText(Constants.FILE_PATH_3, kruskalTextBox.Text); }