public void UnionTests() { var union = new QuickFind(10); union.Union(5, 8); Assert.IsTrue(union.Connected(5, 8)); Assert.IsFalse(union.Connected(5, 9)); }
private void Button_Print_Click(object sender, RoutedEventArgs e) { if (connections.Count == 0) { return; } int n = connections.Count; QuickFind qf = new QuickFind(10); foreach (Connection con in connections) { if (qf.Connected(con.Point1, con.Point2)) { outConnections.Add(con); DrawLine(con); continue; } qf.Union(con.Point1, con.Point2); //System.Diagnostics.Debug.WriteLine($"X:{con.Point1.X},Y:{con.Point1.Y} Union X:{con.Point2.X},Y:{con.Point2.Y}\n"); //for (int i = 0; i <= 4; i++) //{ // System.Diagnostics.Debug.Write($"[{i},1]{qf.id[i, 1]} "); //} //for (int i = 0; i <= 4; i++) //{ // System.Diagnostics.Debug.Write($"[{i},0]{qf.id[i, 0]} "); //} //System.Diagnostics.Debug.WriteLine(""); } MyOutDataGrid.ItemsSource = outConnections; System.Diagnostics.Debug.WriteLine(qf.Count + "Components"); //foreach(Connection c in connections) //{ // System.Diagnostics.Debug.WriteLine($"{c.Point1},{c.Point2}"); //} }