public AdjacencyMatrix()
        {
            InitializeComponent();

            AdjMatrix adjMat = MainWindow.adjMat;

            for (int i = 0; i < adjMat.noOfVertices; i++)
            {
                Label tempLabel = new Label();
                tempLabel.Content = "v" + (i + 1);
                tempLabel.Margin  = new Thickness(10, ((i + 1) * HEIGHTDIFF) + 10, 0, 0);

                matGrid.Children.Add(tempLabel);

                tempLabel         = new Label();
                tempLabel.Content = "v" + (i + 1);
                tempLabel.Margin  = new Thickness(((i + 1) * WIDTHDIFF) + 10, 10, 0, 0);

                matGrid.Children.Add(tempLabel);
            }

            for (int i = 0; i < adjMat.noOfVertices; i++)
            {
                for (int j = 0; j < adjMat.noOfVertices; j++)
                {
                    Label tempLabel = new Label();
                    tempLabel.Content = adjMat.adjacencyMatrix[i][j];
                    tempLabel.Margin  = new Thickness(((j + 1) * WIDTHDIFF) + 10, ((i + 1) * HEIGHTDIFF) + 10, 0, 0);

                    matGrid.Children.Add(tempLabel);
                }
            }
        }
        private void Slider_ValueChanged(object sender, RoutedPropertyChangedEventArgs <double> e)
        {
            if (this.IsLoaded)
            {
                Slider slider = (Slider)sender;

                lblVertexCount.Content = (int)slider.Value;

                ResetLines();
                adjMat  = new AdjMatrix((int)slider.Value);
                incMat  = new IncidenceMatrix((int)slider.Value);
                adjList = new AdjList((int)vertsSlider.Value);

                if (vertsUI.Count == 0)
                {
                    return;
                }

                for (int i = 0; i < (int)slider.Value; i++)
                {
                    vertsUI[i].Visibility = Visibility.Visible;
                }
                for (int i = (int)slider.Value; i < vertsUI.Count; i++)
                {
                    vertsUI[i].Visibility = Visibility.Hidden;
                }
            }
        }
Beispiel #3
0
 public static void Fill(this AdjMatrix adjMatrix, int[,] matrix)
 {
     for (int i = 0; i < matrix.GetLength(0); i++)
     {
         for (int j = 0; j < matrix.GetLength(1); j++)
         {
             adjMatrix[i, j] = matrix[i, j] == 1;
         }
     }
 }
Beispiel #4
0
        public void ExampleTest3()
        {
            _adjMatrix = new AdjMatrix(3);

            int[,] matrix =
            {
                { 0, 1, 0 },
                { 1, 1, 1 },
                { 0, 1, 0 }
            };

            _adjMatrix.Fill(matrix);

            _adjMatrix.IsIndirect().Should().BeFalse();
        }
        public MainWindow()
        {
            InitializeComponent();

            adjMat  = new AdjMatrix((int)vertsSlider.Value);
            incMat  = new IncidenceMatrix((int)vertsSlider.Value);
            adjList = new AdjList((int)vertsSlider.Value);

            vertsUI.Add(v1);
            vertsUI.Add(v2);
            vertsUI.Add(v3);
            vertsUI.Add(v4);
            vertsUI.Add(v5);
            vertsUI.Add(v6);
            vertsUI.Add(v7);
            vertsUI.Add(v8);
            vertsUI.Add(v9);
            vertsUI.Add(v10);
        }
        public void ExampleTest()
        {
            _adjMatrix = new AdjMatrix(3);

            (int from, int to)[] edges =