C++用多维数组表示权值矩阵
时间: 2024-08-29 10:03:53 浏览: 53
sds.rar_带权最短路径_权值矩阵
在C++中,多维数组可以用来表示权值矩阵。权值矩阵通常用于图论中的邻接矩阵表示法,其中每个元素表示连接顶点i和顶点j的边的权值。如果顶点i和顶点j之间没有直接的连接,则权值可以设为一个特殊值,如0或一个很大的数。
在C++中创建多维数组的语法与创建一维数组类似,但是需要为每个维度指定大小。例如,对于一个由n个顶点组成的完全图,其权值矩阵可以定义为一个n×n的二维数组。下面是一个创建权值矩阵的示例代码:
```cpp
int n = 5; // 假设图有5个顶点
int weightMatrix[n][n]; // 创建一个5x5的权值矩阵
// 初始化权值矩阵,这里使用0表示没有直接连接的顶点之间的权值,非零值表示有连接的顶点之间的权值
for (int i = 0; i < n; ++i) {
for (int j = 0; j < n; ++j) {
if (i == j) {
weightMatrix[i][j] = 0; // 顶点到自身的距离为0
} else {
// 这里可以根据实际情况进行初始化
weightMatrix[i][j] = 1; // 假设所有顶点之间都有权值为1的连接
}
}
}
```
在上述代码中,`weightMatrix`是一个5x5的二维数组,它表示了一个拥有5个顶点的完全图的权值矩阵。每个元素`weightMatrix[i][j]`代表顶点i到顶点j的连接的权值。
阅读全文