首页 > 解决方案 > 将邻接矩阵转换为关联矩阵

问题描述

需要将给定的邻接矩阵转换为关联矩阵,有 func 来制作 adj 矩阵,但不知道如何转换它。

试图通过这个 func 将其转换为发病率,但没有任何效果:

class Graph
{
public:
int verticles;
int edges;
int** adjMatrix;
void IncMatrix(int verticles,Graph graph)
{
    int** matrix = graph.adjMatrix;
    int col = 0, i, j, j_b = 0;
    for (i = 0; i < verticles; i++)
        for (j = 0; j < verticles; j++)
            if (matrix[i][j])
                col++;
    col /= 2;
    int** incMatrix = new int* [verticles];
    for (i = 0; i < verticles; i++)
    {
        incMatrix[i] = new int[col];
        for (j = 0; j < col; j++)
            incMatrix[i][j] = 0;
    }

    for (i = 0; i < verticles; i++)
        for (j = i + 1; j < verticles; j++)
            if (matrix[i][j])
            {
                incMatrix[i][j_b] = 1;
                incMatrix[j][j_b] = 1;
                j_b++;
               

            }    

标签: c++graphadjacency-matrix

解决方案


推荐阅读