这段代码实现了一个函数,用于求一个有向图的邻接矩阵。函数中,通过循环遍历每个顶点,输入该顶点所指向的其他顶点的编号,每输入一次就在邻接矩阵中将对应位置的值加 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。

总结:

该代码通过用户输入的顶点间连接关系,构造了有向图的邻接矩阵。邻接矩阵是一种表示图结构的常用方法,可以用于图的各种操作,例如路径搜索、最短路径计算等。

C++ 代码实现有向图的邻接矩阵

原文地址: https://www.cveoy.top/t/topic/oxZD 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录