Exemple #1
0
        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}");
            //}
        }