C++ 代码实现有向图的邻接矩阵
这段代码实现了一个函数,用于求一个有向图的邻接矩阵。函数中,通过循环遍历每个顶点,输入该顶点所指向的其他顶点的编号,每输入一次就在邻接矩阵中将对应位置的值加 1。输入 0 代表该顶点不再有指向其他顶点的边,结束该顶点的输入。最终得到的邻接矩阵即为该有向图的表示。
void Get_Matrix() //求图的邻接矩阵
{
cout << '请输入有向图中各点所指向的点的编号:(有重边则多次输入,输入 0 代表结束)' << endl;
for (int i = 1; i <= n; i++) {
int j;
cout << 'v' << i << ':' ;//vi指向的点的编号
cin >> j;
while (j != 0) {
Matrix[i][j]++;
cin >> j;
}
}
}
代码说明:
Get_Matrix()函数用于求解图的邻接矩阵。n代表图中顶点的数量。Matrix是一个二维数组,用于存储邻接矩阵。- 循环遍历每个顶点
i,输入其指向的顶点编号j。 - 当
j为 0 时,表示该顶点没有指向其他顶点,结束输入。 Matrix[i][j]++表示将顶点i到顶点j的边权增加 1。
总结:
该代码通过用户输入的顶点间连接关系,构造了有向图的邻接矩阵。邻接矩阵是一种表示图结构的常用方法,可以用于图的各种操作,例如路径搜索、最短路径计算等。
原文地址: https://www.cveoy.top/t/topic/oxZD 著作权归作者所有。请勿转载和采集!